snapshots.spec.ts 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. require("../setup");
  2. import { expect } from "chai";
  3. import { Cassettes } from "mocha-cassettes";
  4. import { LokaliseApi } from "../../src/lokalise/lokalise_api";
  5. describe("Snapshots", function () {
  6. const cassette = new Cassettes("./test/cassettes");
  7. const lokaliseApi = new LokaliseApi({ apiKey: process.env.API_KEY });
  8. const project_id = "803826145ba90b42d5d860.46800099";
  9. const snapshot_id = 27882;
  10. const new_snapshot_id = 89351;
  11. cassette
  12. .createTest("list", async () => {
  13. const snapshots = await lokaliseApi.snapshots().list({
  14. project_id: project_id,
  15. page: 1,
  16. limit: 1,
  17. });
  18. expect(snapshots.items[0].snapshot_id).to.eq(snapshot_id);
  19. expect(snapshots.totalResults).to.eq(1);
  20. expect(snapshots.totalPages).to.eq(1);
  21. expect(snapshots.resultsPerPage).to.eq(1);
  22. expect(snapshots.currentPage).to.eq(1);
  23. })
  24. .register(this);
  25. cassette
  26. .createTest("create", async () => {
  27. const snapshot = await lokaliseApi
  28. .snapshots()
  29. .create({ title: "API snapshot" }, { project_id: project_id });
  30. expect(snapshot.snapshot_id).to.eq(new_snapshot_id);
  31. expect(snapshot.title).to.eq("API snapshot");
  32. expect(snapshot.created_by).to.eq(20181);
  33. expect(snapshot.created_by_email).to.eq("bodrovis@protonmail.com");
  34. expect(snapshot.created_at).to.eq("2019-06-20 15:01:49 (Etc/UTC)");
  35. expect(snapshot.created_at_timestamp).to.eq(1561042909);
  36. })
  37. .register(this);
  38. cassette
  39. .createTest("restore", async () => {
  40. const response = await lokaliseApi.snapshots().restore(1570469, {
  41. project_id: "9367803563515cbe23fa19.58441884",
  42. });
  43. expect(response.project_id).not.to.eq("9367803563515cbe23fa19.58441884");
  44. expect(response.name).to.eq("Node updated copy");
  45. })
  46. .register(this);
  47. cassette
  48. .createTest("delete", async () => {
  49. const response = await lokaliseApi.snapshots().delete(new_snapshot_id, {
  50. project_id: project_id,
  51. });
  52. expect(response.project_id).to.eq(project_id);
  53. expect(response.snapshot_deleted).to.be.true;
  54. })
  55. .register(this);
  56. });