longJobs.spec.ts 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. import { setActivePinia, createPinia } from "pinia";
  2. import { useLongJobsStore } from "@/stores/longJobs";
  3. describe("long jobs store", () => {
  4. beforeEach(() => {
  5. setActivePinia(createPinia());
  6. });
  7. test("setJobs", () => {
  8. const longJobsStore = useLongJobsStore();
  9. const jobs = [
  10. {
  11. id: "f9c51c9b-2709-4c79-8263-998026fd8afb",
  12. name: "Bulk verifying songs",
  13. status: "success",
  14. message: "2 songs have been successfully verified"
  15. }
  16. ];
  17. longJobsStore.setJobs(jobs);
  18. expect(longJobsStore.activeJobs).toEqual(jobs);
  19. });
  20. test("setJob new", () => {
  21. const longJobsStore = useLongJobsStore();
  22. const job = {
  23. id: "f9c51c9b-2709-4c79-8263-998026fd8afb",
  24. name: "Bulk verifying songs",
  25. status: "success",
  26. message: "2 songs have been successfully verified"
  27. };
  28. longJobsStore.setJob(job);
  29. expect(longJobsStore.activeJobs).toEqual([job]);
  30. });
  31. test("setJob update", () => {
  32. const longJobsStore = useLongJobsStore();
  33. longJobsStore.setJob({
  34. id: "f9c51c9b-2709-4c79-8263-998026fd8afb",
  35. name: "Bulk verifying songs",
  36. status: "started",
  37. message: "Verifying 2 songs.."
  38. });
  39. const updatedJob = {
  40. id: "f9c51c9b-2709-4c79-8263-998026fd8afb",
  41. name: "Bulk verifying songs",
  42. status: "success",
  43. message: "2 songs have been successfully verified"
  44. };
  45. longJobsStore.setJob(updatedJob);
  46. expect(longJobsStore.activeJobs).toEqual([updatedJob]);
  47. });
  48. test("setJob already removed", () => {
  49. const longJobsStore = useLongJobsStore();
  50. const job = {
  51. id: "f9c51c9b-2709-4c79-8263-998026fd8afb",
  52. name: "Bulk verifying songs",
  53. status: "success",
  54. message: "2 songs have been successfully verified"
  55. };
  56. longJobsStore.setJob(job);
  57. longJobsStore.removeJob("f9c51c9b-2709-4c79-8263-998026fd8afb");
  58. longJobsStore.setJob(job);
  59. expect(longJobsStore.activeJobs.length).toBe(0);
  60. expect(longJobsStore.removedJobIds).toEqual([
  61. "f9c51c9b-2709-4c79-8263-998026fd8afb"
  62. ]);
  63. });
  64. test("removeJob", () => {
  65. const longJobsStore = useLongJobsStore();
  66. longJobsStore.setJobs([
  67. {
  68. id: "f9c51c9b-2709-4c79-8263-998026fd8afb",
  69. name: "Bulk verifying songs",
  70. status: "success",
  71. message: "2 songs have been successfully verified"
  72. }
  73. ]);
  74. longJobsStore.removeJob("f9c51c9b-2709-4c79-8263-998026fd8afb");
  75. expect(longJobsStore.activeJobs.length).toBe(0);
  76. expect(longJobsStore.removedJobIds).toContain(
  77. "f9c51c9b-2709-4c79-8263-998026fd8afb"
  78. );
  79. longJobsStore.removeJob("e58fb1a6-14eb-4ce9-aed9-96c8afe17cbe");
  80. expect(longJobsStore.removedJobIds).not.toContain(
  81. "e58fb1a6-14eb-4ce9-aed9-96c8afe17cbe"
  82. );
  83. });
  84. });