markbody-container.spec.cy.ts 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. describe("评卷页面-裁切图", () => {
  2. beforeEach(() => {
  3. cy.networkStub();
  4. cy.visit("/");
  5. cy.clock();
  6. });
  7. it("裁切图显示", () => {
  8. cy.wait(4000)
  9. .get(".mark-body-container .single-image-container")
  10. .should("exist");
  11. });
  12. it("键盘选择鼠标分数成功", () => {
  13. cy.wait(1000)
  14. .get(".mark-body-container")
  15. .get("body")
  16. .type("1")
  17. .trigger("click", {
  18. clientX: 200,
  19. clientY: 350,
  20. })
  21. .get(".cursor-border")
  22. .should("contain", "1");
  23. });
  24. it("键盘选择鼠标分数失败", () => {
  25. cy.wait(1000)
  26. .get(".mark-body-container")
  27. .get("body")
  28. .type("1.47")
  29. .trigger("click", {
  30. clientX: 200,
  31. clientY: 350,
  32. })
  33. .get(".cursor-border")
  34. .should("contain", "1.4");
  35. });
  36. it("裁切图点击-分数增加", () => {
  37. // 任务开始渲染了
  38. cy.get(".single-image-container");
  39. cy.tick(10000);
  40. // 等待遮罩层消除
  41. cy.get('[data-test="status-spin"]').should("not.exist");
  42. cy.get(".mark-body-container")
  43. .scrollTo(0, 0)
  44. .get("body")
  45. .type("1")
  46. .click(200, 300)
  47. .tick(3500)
  48. .get("body")
  49. .type("2")
  50. .click(300, 500)
  51. .tick(3500)
  52. .get(".single-image-container:nth(2)")
  53. .scrollIntoView()
  54. .get("body")
  55. .type("3")
  56. .click(400, 200)
  57. .tick(500);
  58. cy.get(".score-container").should("have.length", 3);
  59. cy.get(".total-score span span").contains("6");
  60. });
  61. it("裁切图点击-分数轨迹过近", () => {
  62. // 任务开始渲染了
  63. cy.get(".single-image-container");
  64. cy.tick(10000);
  65. // 等待遮罩层消除
  66. cy.get('[data-test="status-spin"]').should("not.exist");
  67. cy.get(".mark-body-container")
  68. .scrollTo(0, 0)
  69. .get("body")
  70. .type("1")
  71. .click(200, 300)
  72. .tick(1500)
  73. .get("body")
  74. .type("2")
  75. .click(205, 305)
  76. .tick(500);
  77. cy.get(".score-container").should("have.length", 1);
  78. cy.get(".total-score span span").contains("1");
  79. });
  80. it("裁切图点击-分数在有效区域外", () => {
  81. // 任务开始渲染了
  82. cy.get(".single-image-container");
  83. cy.tick(10000);
  84. // 等待遮罩层消除
  85. cy.get('[data-test="status-spin"]').should("not.exist");
  86. cy.get("body .mark-body-container")
  87. .scrollTo(0, 0)
  88. .get("body")
  89. .type("3")
  90. .click(900, 200)
  91. // 要给点时间页面计算动画
  92. .wait(500);
  93. cy.get("body .mark-body-container .score-container").should(
  94. "have.length",
  95. 0
  96. );
  97. });
  98. it("清除本题分数", () => {
  99. // 任务开始渲染了
  100. cy.get(".single-image-container");
  101. cy.tick(10000);
  102. // 等待遮罩层消除
  103. cy.get('[data-test="status-spin"]').should("not.exist");
  104. cy.get("body .mark-body-container")
  105. .scrollTo(0, 0)
  106. .get("body")
  107. .type("3")
  108. .click(200, 200)
  109. .tick(1500)
  110. .get("body")
  111. .type("2")
  112. .click(200, 300)
  113. .tick(500);
  114. cy.get('[data-test="clear-score"]').click();
  115. cy.tick(500);
  116. cy.get("body .mark-body-container .score-container").should(
  117. "have.length",
  118. 0
  119. );
  120. });
  121. });