audio.cy.ts 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import { AudioView, LabelStudio, Relations } from "@humansignal/frontend-test/helpers/LSF";
  2. import { audioWithFourRegionsResult, audioWithLabelsConfig, audioWithLabelsData } from "../../data/relations/audio";
  3. describe("Relations: Audio", () => {
  4. it("Should be able to create a relation", () => {
  5. LabelStudio.params()
  6. .config(audioWithLabelsConfig)
  7. .data(audioWithLabelsData)
  8. .withResult(audioWithFourRegionsResult)
  9. .init();
  10. AudioView.isReady();
  11. AudioView.clickAtRelative(0.4, 0.5);
  12. Relations.toggleCreationWithHotkey();
  13. AudioView.clickAtRelative(0.2, 0.5);
  14. });
  15. it("Should not display relations out of the viewport", () => {
  16. LabelStudio.params()
  17. .config(audioWithLabelsConfig)
  18. .data(audioWithLabelsData)
  19. .withResult(audioWithFourRegionsResult)
  20. .init();
  21. AudioView.isReady();
  22. AudioView.clickAtRelative(0.4, 0.5);
  23. Relations.toggleCreation();
  24. AudioView.clickAtRelative(0.2, 0.5);
  25. AudioView.clickAtRelative(0.4, 0.5);
  26. Relations.toggleCreation();
  27. AudioView.clickAtRelative(0.6, 0.5);
  28. AudioView.clickAtRelative(0.6, 0.5);
  29. Relations.toggleCreation();
  30. AudioView.clickAtRelative(0.8, 0.5);
  31. Relations.overlayItems.should("have.length", 3);
  32. AudioView.zoomIn({ times: 2.5 });
  33. Relations.overlayItems.should("have.length", 1);
  34. AudioView.scroll({ times: 3, speed: 300 });
  35. Relations.overlayItems.should("have.length", 1);
  36. AudioView.zoomIn({ times: 2 });
  37. Relations.overlayItems.should("have.length", 0);
  38. });
  39. });