Просмотр исходного кода

refs 116147: add test for proactive questionnaire modal

Futa Arai 3 лет назад
Родитель
Сommit
855121a7e6

+ 5 - 1
packages/app/src/components/Navbar/PersonalDropdown.tsx

@@ -77,7 +77,11 @@ const PersonalDropdown = (): JSX.Element => {
 
         <div className="dropdown-divider"></div>
 
-        <button type="button" className="dropdown-item" onClick={() => setQuestionnaireModalOpen(true)}>
+        <button
+          data-testid="grw-proactive-questionnaire-modal-toggle-btn"
+          type="button"
+          className="dropdown-item"
+          onClick={() => setQuestionnaireModalOpen(true)}>
           <i className="icon-fw icon-pencil"></i>{t('personal_dropdown.feedback')}
         </button>
 

+ 1 - 0
packages/app/src/components/Questionnaire/ProactiveQuestionnaireModal.tsx

@@ -77,6 +77,7 @@ const ProactiveQuestionnaireModal = (props: ModalProps): JSX.Element => {
   return (
     <>
       <Modal
+        data-testid="grw-proactive-questionnaire-modal"
         size="lg"
         isOpen={isOpen}
         toggle={onClose}

+ 29 - 1
packages/app/test/cypress/integration/60-home/60-home--home.spec.ts

@@ -127,7 +127,7 @@ context('Access User settings', () => {
     cy.screenshot(`${ssPrefix}-in-app-notification-setting-2`);
   });
 
-  it.only('Access Other setting', () => {
+  it('Access Other setting', () => {
     cy.getByTestid('grw-personal-settings').find('.nav-title.nav li:eq(6) a').click();
     cy.scrollTo('top');
     cy.screenshot(`${ssPrefix}-other-setting-1`);
@@ -136,3 +136,31 @@ context('Access User settings', () => {
     cy.screenshot(`${ssPrefix}-other-setting-2`);
   });
 });
+
+context('Access proactive questionnaire modal', () => {
+  const ssPrefix = 'proactive-questionnaire-modal-';
+
+  beforeEach(() => {
+    // login
+    cy.fixture("user-admin.json").then(user => {
+      cy.login(user.username, user.password);
+    });
+  });
+
+  it('Opens questionnaire modal', () => {
+    cy.visit('/dummy');
+
+    // open PersonalDropdown
+    cy.waitUntil(() => {
+      // do
+      cy.getByTestid('personal-dropdown-button').should('be.visible').click();
+      // wait until
+      return cy.getByTestid('grw-personal-dropdown-menu-user-home').then($elem => $elem.is(':visible'));
+    });
+
+    cy.getByTestid('grw-proactive-questionnaire-modal-toggle-btn').should('be.visible').click();
+    cy.getByTestid('grw-proactive-questionnaire-modal').should('be.visible');
+
+    cy.screenshot(`${ssPrefix}-opened`);
+  });
+});