package.cypress-utils.utils.navigation.js.map Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of neeto-commons-frontend Show documentation
Show all versions of neeto-commons-frontend Show documentation
A package encapsulating common code across neeto projects including initializers, utility functions, common components and hooks and so on.
{"version":3,"file":"navigation.js","names":["requestApis","commonSelectors","profileSelectors","chatWidgetSelectors","helpIconSelectors","commonTexts","helpIconTexts","profileTexts","verifyTabMenu","_ref","tabSelector","_ref$alias","alias","_ref$requestCount","requestCount","cy","interceptApi","get","click","waitForMultipleRequest","concat","verifyAttribute","selector","attr","value","clickOnHelpSubTab","tabText","openProfileOrHelpCenter","helpButton","subTabLink","whatsNewButton","count","should","invoke","verifyHelpDocumentationLink","_ref2","articleTitle","_ref2$requestCount","clickByRemoveTargetAttr","documentationButton","articlePageTitle","timeout","go","verifyKeyboardShortcutsPane","keyboardShortcutButton","keyboardShortcuts","keyboardShortcutPaneHeading","keyboardShortcutPaneCrossIcon","verifyWhatsNewTab","whatsNewHeading","whatsNew","openWhatsNewPane","whatsNewWidgetInfo","whatsNewWidgetCloseButton","last","waitForChatWidget","timeOut","arguments","length","undefined","defaultWait","ifNotExist","widgetIframe","wait","navigationUtils","chatButton","liveChat","verifyChatWithUsTab","_ref3","_ref3$requestCount","interceptNonVersionedApi","url","allChatPath","times","withinIframe","chatWidgetHomeCard","force","widgetSubmitButton","chatBubbleMessage","chatCloseButton","verifyMyProfileTab","_ref4","_ref4$requestCount","tab","logoutLink","myProfileButton","myProfile","globalState","then","subdomainName","window","win","stub","as","callsFake","newUrl","location","href","myProfilePath","heading","profileSettings","verifyOrganizationTab","organizationSettingsButton","myOrganization","settingsPath","settings","_ref5","_ref5$count","_ref5$timeout"],"sources":["../../../src/cypress-utils/utils/navigation.js"],"sourcesContent":["/* eslint-disable xss/no-location-href-assign */\nimport { requestApis } from \"../constants/routes\";\nimport {\n commonSelectors,\n profileSelectors,\n} from \"../constants/selectors/common\";\nimport {\n chatWidgetSelectors,\n helpIconSelectors,\n} from \"../constants/selectors/navigation\";\nimport { commonTexts } from \"../constants/texts/common\";\nimport { helpIconTexts, profileTexts } from \"../constants/texts/navigation\";\n\nconst verifyTabMenu = ({\n tabSelector,\n alias = \"fetchData\",\n requestCount = 1,\n}) => {\n requestCount && cy.interceptApi(alias, requestCount);\n cy.get(tabSelector).click();\n requestCount && cy.waitForMultipleRequest(`@${alias}`, requestCount);\n cy.verifyAttribute({ selector: tabSelector, attr: \"class\", value: \"active\" });\n};\n\nconst clickOnHelpSubTab = (tabSelector, tabText) => {\n openProfileOrHelpCenter({\n tabSelector: helpIconSelectors.helpButton,\n subTabLink: helpIconSelectors.whatsNewButton,\n count: 5,\n });\n cy.get(tabSelector).should(\"have.text\", tabText).invoke(\"click\");\n};\n\nconst verifyHelpDocumentationLink = ({\n articleTitle,\n alias,\n requestCount = 3,\n}) => {\n openProfileOrHelpCenter({\n tabSelector: helpIconSelectors.helpButton,\n subTabLink: helpIconSelectors.whatsNewButton,\n count: 5,\n });\n cy.clickByRemoveTargetAttr(helpIconSelectors.documentationButton);\n\n cy.get(commonSelectors.articlePageTitle, { timeout: 10000 }).should(\n \"have.text\",\n articleTitle\n );\n cy.interceptApi(alias, requestCount);\n cy.go(\"back\");\n cy.waitForMultipleRequest(`@${alias}`, requestCount);\n};\n\nconst verifyKeyboardShortcutsPane = () => {\n clickOnHelpSubTab(\n helpIconSelectors.keyboardShortcutButton,\n helpIconTexts.keyboardShortcuts\n );\n\n cy.get(helpIconSelectors.keyboardShortcutPaneHeading).should(\n \"have.text\",\n helpIconTexts.keyboardShortcuts\n );\n cy.get(helpIconSelectors.keyboardShortcutPaneCrossIcon).click();\n};\n\nconst verifyWhatsNewTab = whatsNewHeading => {\n openProfileOrHelpCenter({\n tabSelector: helpIconSelectors.helpButton,\n subTabLink: helpIconSelectors.whatsNewButton,\n count: 5,\n });\n\n cy.get(helpIconSelectors.whatsNewButton).should(\n \"contain.text\",\n helpIconTexts.whatsNew\n );\n openWhatsNewPane();\n cy.get(helpIconSelectors.whatsNewWidgetInfo).should(\n \"have.text\",\n whatsNewHeading\n );\n cy.get(helpIconSelectors.whatsNewWidgetCloseButton).last().click();\n cy.get(helpIconSelectors.whatsNewWidgetInfo).should(\"not.exist\");\n};\n\nconst waitForChatWidget = (timeOut = 10, defaultWait = 500) => {\n if (timeOut === 0) return;\n cy.ifNotExist(chatWidgetSelectors.widgetIframe, () => {\n // eslint-disable-next-line cypress/no-unnecessary-waiting\n cy.wait(defaultWait);\n navigationUtils.clickOnHelpSubTab(\n helpIconSelectors.chatButton,\n helpIconTexts.liveChat\n );\n\n cy.ifNotExist(chatWidgetSelectors.widgetIframe, () => {\n waitForChatWidget(timeOut - 1);\n });\n });\n};\n\nconst verifyChatWithUsTab = ({ alias, requestCount = 3 }) => {\n requestCount &&\n cy.interceptNonVersionedApi({\n url: requestApis.allChatPath,\n alias,\n times: requestCount,\n });\n clickOnHelpSubTab(helpIconSelectors.chatButton, helpIconTexts.liveChat);\n requestCount && cy.waitForMultipleRequest(`@${alias}`, requestCount);\n\n waitForChatWidget();\n\n cy.withinIframe(chatWidgetSelectors.widgetIframe, () => {\n requestCount &&\n cy.interceptNonVersionedApi({\n url: requestApis.allChatPath,\n alias,\n times: requestCount,\n });\n\n cy.get(chatWidgetSelectors.chatWidgetHomeCard, { timeout: 10000 }).click({\n force: true,\n });\n requestCount && cy.wait(`@${alias}`, requestCount);\n requestCount &&\n cy.interceptNonVersionedApi({\n url: requestApis.allChatPath,\n alias,\n times: requestCount,\n });\n cy.get(chatWidgetSelectors.widgetSubmitButton).click();\n requestCount && cy.waitForMultipleRequest(`@${alias}`, requestCount);\n cy.get(chatWidgetSelectors.chatBubbleMessage).should(\"be.visible\");\n });\n cy.get(chatWidgetSelectors.chatCloseButton).click();\n cy.get(chatWidgetSelectors.widgetIframe).should(\"not.exist\");\n};\n\nconst verifyMyProfileTab = ({ alias, requestCount = 2 }) => {\n openProfileOrHelpCenter({\n tabSelector: profileSelectors.tab,\n subTabLink: profileSelectors.logoutLink,\n count: 5,\n });\n\n cy.get(profileSelectors.myProfileButton).should(\n \"have.text\",\n profileTexts.myProfile\n );\n\n cy.globalState(\"subdomainName\").then(subdomainName => {\n cy.window().then(win => {\n cy.stub(win, \"open\")\n .as(alias)\n .callsFake(newUrl => (win.location.href = newUrl));\n });\n cy.get(profileSelectors.myProfileButton).invoke(\"click\");\n cy.get(`@${alias}`).should(\"be.called\");\n cy.url().should(\"include\", requestApis.myProfilePath(subdomainName));\n });\n\n cy.get(commonSelectors.heading).should(\n \"have.text\",\n profileTexts.profileSettings\n );\n\n cy.globalState(\"subdomainName\").then(subdomainName =>\n cy.url().should(\"include\", requestApis.myProfilePath(subdomainName))\n );\n\n cy.interceptApi(alias, requestCount);\n cy.go(\"back\");\n cy.waitForMultipleRequest(`@${alias}`, requestCount);\n};\n\nconst verifyOrganizationTab = () => {\n openProfileOrHelpCenter({\n tabSelector: profileSelectors.tab,\n subTabLink: profileSelectors.logoutLink,\n count: 5,\n });\n\n cy.get(profileSelectors.organizationSettingsButton).should(\n \"have.text\",\n profileTexts.myOrganization\n );\n\n cy.globalState(\"subdomainName\").then(subdomainName => {\n cy.window().then(win => {\n cy.stub(win, \"open\")\n .as(\"navigateToSettings\")\n .callsFake(newUrl => (win.location.href = newUrl));\n });\n cy.get(profileSelectors.organizationSettingsButton).invoke(\"click\");\n cy.get(\"@navigateToSettings\").should(\"be.called\");\n cy.url().should(\"include\", requestApis.settingsPath(subdomainName));\n });\n\n cy.get(commonSelectors.heading).should(\"have.text\", commonTexts.settings);\n cy.globalState(\"subdomainName\").then(subdomainName =>\n cy.url().should(\"include\", requestApis.settingsPath(subdomainName))\n );\n};\n\nconst openProfileOrHelpCenter = ({\n tabSelector,\n subTabLink,\n count = 1,\n timeout = 2000,\n}) => {\n if (count === 0) return;\n\n cy.get(tabSelector).click();\n cy.ifNotExist(subTabLink, () => {\n cy.wait(timeout); // eslint-disable-line cypress/no-unnecessary-waiting\n openProfileOrHelpCenter({\n tabSelector,\n subTabLink,\n count: count - 1,\n timeout,\n });\n });\n};\n\nconst openWhatsNewPane = (count = 7, timeout = 2000) => {\n if (count === 0) return;\n cy.get(helpIconSelectors.whatsNewButton).invoke(\"click\");\n cy.ifNotExist(helpIconSelectors.whatsNewWidgetInfo, () => {\n cy.wait(timeout); // eslint-disable-line cypress/no-unnecessary-waiting\n openWhatsNewPane(count - 1);\n });\n};\n\nexport const navigationUtils = {\n verifyTabMenu,\n clickOnHelpSubTab,\n verifyHelpDocumentationLink,\n verifyKeyboardShortcutsPane,\n verifyWhatsNewTab,\n verifyChatWithUsTab,\n verifyMyProfileTab,\n verifyOrganizationTab,\n openProfileOrHelpCenter,\n openWhatsNewPane,\n};\n"],"mappings":"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"}