modal.spec.js 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. // modal.spec.js created with Cypress
  2. //
  3. // Start writing your Cypress tests below!
  4. // If you're unfamiliar with how Cypress works,
  5. // check out the link below and learn how to write your first test:
  6. // https://on.cypress.io/writing-first-test
  7. describe('modal', () => {
  8. it('useModal', () => {
  9. cy.visit("http://localhost:6006/iframe.html?id=modal--use-modal-demo&viewMode=story");
  10. cy.get(".semi-button").click();
  11. cy.get(".semi-modal-confirm-title-text").contains("old title");
  12. cy.get(".semi-modal-confirm-content").contains("old content");
  13. cy.wait(1000);
  14. cy.get(".semi-modal-confirm-title-text").contains("new title");
  15. cy.get(".semi-modal-confirm-content").contains("new content");
  16. cy.get(".semi-modal-footer .semi-button").last().contains("Confirm");
  17. cy.get(".semi-modal-header .semi-modal-close").click();
  18. cy.get(".semi-modal").should("not.exist");
  19. });
  20. it('useModal destroy', () => {
  21. cy.visit("http://localhost:6006/iframe.html?id=modal--use-modal-destroy&viewMode=story");
  22. cy.get(".semi-button").click();
  23. cy.wait(1000);
  24. cy.get(".semi-modal").should("not.exist");
  25. });
  26. it('useModal afterClose', () => {
  27. cy.visit("http://localhost:6006/iframe.html?id=modal--use-modal-after-close&viewMode=story");
  28. cy.get(".semi-button").click();
  29. cy.get(".semi-modal").should("not.exist");
  30. cy.get(".semi-tag").first().contains("true");
  31. });
  32. it('useModal FocusTrap',()=>{
  33. cy.visit("http://localhost:6006/iframe.html?id=modal--default&viewMode=story");
  34. cy.get(".semi-button").click();
  35. cy.contains('取消').should('be.focused');
  36. cy.get('input').click();
  37. cy.get('input').tab();
  38. cy.contains('hide dialog').should('be.focused');
  39. cy.contains('确定').focus();
  40. cy.contains('确定').tab();
  41. cy.get('button[aria-label=close]').should('be.focused');
  42. cy.get('button[aria-label=close]').tab({ shift:true });
  43. cy.contains('确定').should('be.focused');
  44. });
  45. });