comments.spec.ts 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. require("../setup");
  2. import { expect } from "chai";
  3. import { Cassettes } from "mocha-cassettes";
  4. import { LokaliseApi } from "../../src/lokalise/lokalise_api";
  5. import { PaginatedResult, Comment } from "../../src/main";
  6. describe("Comments", function () {
  7. const cassette = new Cassettes("./test/cassettes");
  8. const lokaliseApi = new LokaliseApi({ apiKey: process.env.API_KEY });
  9. const project_id = "803826145ba90b42d5d860.46800099";
  10. const key_id = 15519786;
  11. const comment_id = 800745;
  12. cassette
  13. .createTest("list_project_comments", async () => {
  14. const comments: PaginatedResult<Comment> = await lokaliseApi
  15. .comments()
  16. .list_project_comments({
  17. project_id: project_id,
  18. });
  19. expect(comments.items[0].comment_id).to.eq(comment_id);
  20. expect(comments.totalResults).to.eq(4);
  21. })
  22. .register(this);
  23. cassette
  24. .createTest("list_project_comments_pagination", async () => {
  25. const comments = await lokaliseApi.comments().list_project_comments({
  26. project_id: "2273827860c1e2473eb195.11207948",
  27. page: 2,
  28. limit: 1,
  29. });
  30. expect(comments.items[0].comment_id).to.eq(11438930);
  31. expect(comments.resultsPerPage).to.eq(1);
  32. expect(comments.currentPage).to.eq(2);
  33. expect(comments.hasNextPage()).to.eq(true);
  34. expect(comments.nextPage()).to.eq(3);
  35. })
  36. .register(this);
  37. cassette
  38. .createTest("list_key_comments", async () => {
  39. const comments = await lokaliseApi.comments().list({
  40. project_id: project_id,
  41. key_id: key_id,
  42. });
  43. expect(comments.items[0].comment_id).to.eq(comment_id);
  44. expect(comments.items[0].key_id).to.eq(key_id);
  45. expect(comments.resultsPerPage).to.eq(100);
  46. })
  47. .register(this);
  48. cassette
  49. .createTest("get", async () => {
  50. const comment = await lokaliseApi.comments().get(comment_id, {
  51. project_id: project_id,
  52. key_id: key_id,
  53. });
  54. expect(comment.comment_id).to.eq(comment_id);
  55. expect(comment.key_id).to.eq(key_id);
  56. expect(comment.comment).to.eq("rspec comment");
  57. expect(comment.added_by).to.eq(20181);
  58. expect(comment.added_by_email).to.eq("bodrovis@protonmail.com");
  59. expect(comment.added_at).to.eq("2018-12-09 18:41:31 (Etc/UTC)");
  60. expect(comment.added_at_timestamp).to.eq(1544380891);
  61. })
  62. .register(this);
  63. cassette
  64. .createTest("create", async () => {
  65. const comments = await lokaliseApi
  66. .comments()
  67. .create(
  68. [{ comment: "Project comment 1" }, { comment: "Project comment 2" }],
  69. { project_id: project_id, key_id: key_id }
  70. );
  71. expect(comments[0].comment).to.eq("Project comment 1");
  72. })
  73. .register(this);
  74. cassette
  75. .createTest("create_single", async () => {
  76. const comments = await lokaliseApi
  77. .comments()
  78. .create(
  79. { comment: "Single" },
  80. { project_id: project_id, key_id: 74189435 }
  81. );
  82. expect(comments[0].comment).to.eq("Single");
  83. })
  84. .register(this);
  85. cassette
  86. .createTest("delete", async () => {
  87. const response = await lokaliseApi.comments().delete(1312027, {
  88. project_id: project_id,
  89. key_id: key_id,
  90. });
  91. expect(response.project_id).to.eq(project_id);
  92. expect(response.comment_deleted).to.be.true;
  93. })
  94. .register(this);
  95. });