From a356c7267c842515dc6c2980f9877687d9e2c1b0 Mon Sep 17 00:00:00 2001 From: IhorBohdan Date: Fri, 27 Sep 2024 18:02:17 +0300 Subject: [PATCH] Fix Visit Methods --- ...-in-current-FY-for-previous-FY-order.cy.js | 23 +++++++++++-------- ...ceiving-pieces-from-order-for-PE-mix.cy.js | 14 +---------- ...e-in-received-status-when-edit-piece.cy.js | 7 ++++-- .../e2e/settings/orders/adjust-instance.cy.js | 17 +++++++++----- .../finance/transactions/transactions.js | 3 +++ cypress/support/fragments/settingsMenu.js | 6 +++++ .../support/fragments/topMenuNavigation.js | 2 +- 7 files changed, 40 insertions(+), 32 deletions(-) diff --git a/cypress/e2e/invoices/approve-and-pay-invoice-created-in-current-FY-for-previous-FY-order.cy.js b/cypress/e2e/invoices/approve-and-pay-invoice-created-in-current-FY-for-previous-FY-order.cy.js index 3e2169fdf9..7fe3999027 100644 --- a/cypress/e2e/invoices/approve-and-pay-invoice-created-in-current-FY-for-previous-FY-order.cy.js +++ b/cypress/e2e/invoices/approve-and-pay-invoice-created-in-current-FY-for-previous-FY-order.cy.js @@ -15,6 +15,7 @@ import TopMenu from '../../support/fragments/topMenu'; import Users from '../../support/fragments/users/users'; import DateTools from '../../support/utils/dateTools'; import getRandomPostfix from '../../support/utils/stringTools'; +import TopMenuNavigation from '../../support/fragments/topMenuNavigation'; describe('Invoices', () => { const firstFiscalYear = { ...FiscalYears.defaultUiFiscalYear }; @@ -67,9 +68,10 @@ describe('Invoices', () => { let user; before(() => { - cy.getAdminToken(); - cy.loginAsAdmin(); - cy.visit(SettingsMenu.expenseClassesPath); + cy.loginAsAdmin({ + path: SettingsMenu.expenseClassesPath, + waiter: SettingsFinance.waitExpenseClassesLoading, + }); SettingsFinance.createNewExpenseClass(firstExpenseClass); FiscalYears.createViaApi(firstFiscalYear).then((firstFiscalYearResponse) => { firstFiscalYear.id = firstFiscalYearResponse.id; @@ -110,9 +112,10 @@ describe('Invoices', () => { Funds.addBudget(allocatedQuantity); Funds.editBudget(); Funds.addExpensesClass(firstExpenseClass.name); + Funds.closeBudgetDetails(); }); - cy.visit(TopMenu.ledgerPath); + FinanceHelp.selectLedgersNavigation(); FinanceHelp.searchByName(defaultLedger.name); Ledgers.selectLedger(defaultLedger.name); Ledgers.rollover(); @@ -121,7 +124,7 @@ describe('Invoices', () => { 'None', 'Allocation', ); - cy.visit(TopMenu.fiscalYearPath); + FinanceHelp.selectFiscalYearsNavigation(); FinanceHelp.searchByName(firstFiscalYear.name); FiscalYears.selectFY(firstFiscalYear.name); FiscalYears.editFiscalYearDetails(); @@ -136,7 +139,7 @@ describe('Invoices', () => { periodStartForSecondFY, periodEndForSecondFY, ); - cy.visit(TopMenu.ledgerPath); + FinanceHelp.selectLedgersNavigation(); FinanceHelp.searchByName(defaultLedger.name); Ledgers.selectLedger(defaultLedger.name); Ledgers.rollover(); @@ -146,7 +149,7 @@ describe('Invoices', () => { 'Allocation', ); - cy.visit(TopMenu.fiscalYearPath); + FinanceHelp.selectFiscalYearsNavigation(); FinanceHelp.searchByName(secondFiscalYear.name); FiscalYears.selectFY(secondFiscalYear.name); FiscalYears.editFiscalYearDetails(); @@ -161,7 +164,7 @@ describe('Invoices', () => { periodStartForSecondFY, periodEndForSecondFY, ); - cy.visit(TopMenu.ledgerPath); + FinanceHelp.selectLedgersNavigation(); FinanceHelp.searchByName(defaultLedger.name); Ledgers.selectLedger(defaultLedger.name); Ledgers.rollover(); @@ -171,7 +174,7 @@ describe('Invoices', () => { 'Allocation', ); - cy.visit(TopMenu.fiscalYearPath); + FinanceHelp.selectFiscalYearsNavigation(); FinanceHelp.searchByName(thirdFiscalYear.name); FiscalYears.selectFY(thirdFiscalYear.name); FiscalYears.editFiscalYearDetails(); @@ -226,7 +229,7 @@ describe('Invoices', () => { Organizations.editOrganization(); Organizations.changeOrganizationStatus(organization.status); - cy.visit(TopMenu.invoicesPath); + TopMenuNavigation.navigateToApp('Invoices'); Invoices.searchByNumber(invoice.invoiceNumber); Invoices.selectInvoice(invoice.invoiceNumber); Invoices.approveInvoice(); diff --git a/cypress/e2e/orders/receiving-and-check-in/receiving-pieces-from-order-for-PE-mix.cy.js b/cypress/e2e/orders/receiving-and-check-in/receiving-pieces-from-order-for-PE-mix.cy.js index 3d1cf42778..d6d4bb7317 100644 --- a/cypress/e2e/orders/receiving-and-check-in/receiving-pieces-from-order-for-PE-mix.cy.js +++ b/cypress/e2e/orders/receiving-and-check-in/receiving-pieces-from-order-for-PE-mix.cy.js @@ -94,19 +94,7 @@ describe('Orders', () => { }); after(() => { - cy.loginAsAdmin({ path: TopMenu.receivingPath, waiter: Receiving.waitLoading }); - Orders.searchByParameter('PO number', orderNumber); - Receiving.selectLinkFromResultsList(); - Receiving.unreceiveFromReceivedSection(); - cy.visit(TopMenu.ordersPath); - Orders.searchByParameter('PO number', orderNumber); - Orders.selectFromResultsList(orderNumber); - Orders.unOpenOrder(); - OrderLines.selectPOLInOrder(0); - OrderLines.deleteOrderLine(); - // Need to wait until the order is opened before deleting it - cy.wait(2000); - Orders.deleteOrderViaApi(order.id); + cy.getAdminToken(); Users.deleteViaApi(user.userId); }); diff --git a/cypress/e2e/receiving/check-possible-actions-for-piece-in-received-status-when-edit-piece.cy.js b/cypress/e2e/receiving/check-possible-actions-for-piece-in-received-status-when-edit-piece.cy.js index ddc5fb2d68..162f4ca8de 100644 --- a/cypress/e2e/receiving/check-possible-actions-for-piece-in-received-status-when-edit-piece.cy.js +++ b/cypress/e2e/receiving/check-possible-actions-for-piece-in-received-status-when-edit-piece.cy.js @@ -14,6 +14,7 @@ import TopMenu from '../../support/fragments/topMenu'; import Users from '../../support/fragments/users/users'; import InteractorsTools from '../../support/utils/interactorsTools'; import Receiving from '../../support/fragments/receiving/receiving'; +import TopMenuNavigation from '../../support/fragments/topMenuNavigation'; describe('Orders: Inventory interaction', () => { const defaultFiscalYear = { ...FiscalYears.defaultRolloverFiscalYear }; @@ -64,7 +65,8 @@ describe('Orders: Inventory interaction', () => { organization.id = responseOrganizations; }); firstOrder.vendor = organization.name; - cy.visit(TopMenu.ordersPath); + TopMenuNavigation.openAppFromDropdown('Orders'); + Orders.selectOrders(); Orders.createApprovedOrderForRollover(firstOrder, true).then((firstOrderResponse) => { firstOrder.id = firstOrderResponse.id; orderNumber = firstOrderResponse.poNumber; @@ -109,7 +111,8 @@ describe('Orders: Inventory interaction', () => { Orders.deleteOrderViaApi(firstOrder.id); Organizations.deleteOrganizationViaApi(organization.id); - cy.visit(TopMenu.fundPath); + TopMenuNavigation.openAppFromDropdown('Finance'); + FinanceHelp.selectFundsNavigation(); FinanceHelp.searchByName(defaultFund.name); Funds.selectFund(defaultFund.name); Funds.selectBudgetDetails(); diff --git a/cypress/e2e/settings/orders/adjust-instance.cy.js b/cypress/e2e/settings/orders/adjust-instance.cy.js index b69286acfd..a6b4db92fc 100644 --- a/cypress/e2e/settings/orders/adjust-instance.cy.js +++ b/cypress/e2e/settings/orders/adjust-instance.cy.js @@ -14,6 +14,8 @@ import SettingsMenu from '../../../support/fragments/settingsMenu'; import TopMenu from '../../../support/fragments/topMenu'; import Users from '../../../support/fragments/users/users'; import getRandomPostfix from '../../../support/utils/stringTools'; +import TopMenuNavigation from '../../../support/fragments/topMenuNavigation'; +import SettingOrdersNavigationMenu from '../../../support/fragments/settings/orders/settingOrdersNavigationMenu'; describe('orders: Settings', () => { const order = { @@ -111,11 +113,13 @@ describe('orders: Settings', () => { location.libraryId, location.id, ); - cy.visit(SettingsMenu.ordersInstanceStatusPath); + TopMenuNavigation.openAppFromDropdown('Settings'); + SettingsMenu.selectOrders(); + SettingOrdersNavigationMenu.selectInstanceStatus(); SettingsOrders.selectInstanceStatus(otherInstanceStatus); - cy.visit(SettingsMenu.ordersInstanceTypePath); + SettingOrdersNavigationMenu.selectInstanceType(); SettingsOrders.selectInstanceType(otherInstanceType); - cy.visit(SettingsMenu.ordersLoanTypePath); + SettingOrdersNavigationMenu.selectLoanType(); SettingsOrders.selectLoanType(selectedLoanType); Users.deleteViaApi(user.userId); }); @@ -125,11 +129,12 @@ describe('orders: Settings', () => { { tags: ['smoke', 'thunderjet'] }, () => { SettingsOrders.selectInstanceStatus(instanceStatus); - cy.visit(SettingsMenu.ordersInstanceTypePath); + SettingOrdersNavigationMenu.selectInstanceType(); SettingsOrders.selectInstanceType(instanceType); - cy.visit(SettingsMenu.ordersLoanTypePath); + SettingOrdersNavigationMenu.selectLoanType(); SettingsOrders.selectLoanType(loanType); - cy.visit(TopMenu.ordersPath); + TopMenuNavigation.navigateToApp('Orders'); + Orders.selectOrders(); Orders.searchByParameter('PO number', orderNumber); Orders.selectFromResultsList(orderNumber); Orders.openOrder(); diff --git a/cypress/support/fragments/finance/transactions/transactions.js b/cypress/support/fragments/finance/transactions/transactions.js index 9ab1909a05..033c4e905f 100644 --- a/cypress/support/fragments/finance/transactions/transactions.js +++ b/cypress/support/fragments/finance/transactions/transactions.js @@ -48,6 +48,9 @@ export default { return TransactionDetails; }, closeTransactionsPage() { + cy.wait(4000); + cy.get('#finance-module-display button[icon=times]').first().click(); + cy.wait(4000); }, }; diff --git a/cypress/support/fragments/settingsMenu.js b/cypress/support/fragments/settingsMenu.js index 0a508f88d6..fa2e95907d 100644 --- a/cypress/support/fragments/settingsMenu.js +++ b/cypress/support/fragments/settingsMenu.js @@ -1,3 +1,5 @@ +import { NavListItem } from '../../../interactors'; + export default { // direct paths to folio apps to use in cy.visit() into initial steps of our scenarios // TODO: add separated scenarios related with SettingsMenu implementation @@ -125,4 +127,8 @@ export default { tagsGeneralPath: 'settings/tags/general', // Software versions softwareVersionsPath: 'settings/about', + + selectOrders() { + cy.do(NavListItem('Orders').click()); + }, }; diff --git a/cypress/support/fragments/topMenuNavigation.js b/cypress/support/fragments/topMenuNavigation.js index 11fca09a82..32a11e42cf 100644 --- a/cypress/support/fragments/topMenuNavigation.js +++ b/cypress/support/fragments/topMenuNavigation.js @@ -19,7 +19,7 @@ export default { }, openAppFromDropdown(appName) { cy.do(HTML({ id: 'app-list-dropdown-toggle' }).click()); - cy.wait(500); + cy.wait(2000); cy.do(Link(appName).click()); }, };