Dashboards

Test case

  //1) open Dashboard   //2) check that name in breadcrubs is correct   //3) check for no error message   //4) check for content loading   //5) repeat for all dashboards

Code

//Definition of existing dashboards const dashboards = [   {     name: 'Price Analyst - Dashboard',     url: '/#/dashboards/Dashboard_PriceAnalyst',     hasContent: true   },   {     name: 'Sales Analyst - Dashboard',     url: '/#/dashboards/Dashboard_SalesAnalyst',     hasContent: true   },   {     name: 'Dashboard Promotions Performance',     url: '/#/dashboards/Dashboard_Promotions_Performance',     hasContent: true   },   {     name: 'Dashboard Simulation Of Promotions',     url: '/#/dashboards/Dashboard_Simulation_Of_Promotions',     hasContent: true   },   {     name: 'Dashboard Rebates',     url: '/#/dashboards/Dashboard_Rebates',     hasContent: true   },   {     name: 'Revenue Breakdown',     url: '/#/dashboards/Revenue_Breakdown',     hasContent: true   },   {     name: 'Customer Rebates',     url: '/#/dashboards/Dashboard_Customer_Rebates',     hasContent: true   },   {     name: 'Rebate Simualtion',     url: '/#/dashboards/Dashboard_Rebate_Simulation',     hasContent: true   },   {     name: 'Promo Optimization Plan',     url: '/#/dashboards/Promo_Optimization_Plan',     hasContent: true   },   {     name: 'Quote Compliance',     url: '/#/dashboards/Dashboard_QuoteCompliance',     hasContent: true   },   {     name: 'Overview of discounts and promotions (active)',     url: '/#/dashboards/Dashboard_Discounts_Promotions',     hasContent: true   },   {     name: 'Customer Retention & Growth Dashboard',     url: '/#/dashboards/CrossSellProductScore_Wizard',     hasContent: true   },   {     name: 'Margin Breakdown',     url: '/#/dashboards/Dashboard_MarginBreakdown',     hasContent: true   }, ]; describe('React - Products', () => {   before(() => {     cy.login('demoPartition');   });   beforeEach(() => {     // Configure 'X-PriceFx-Csrf-Token' and 'X-PriceFx-jwt' cookies to be preserved after each test.     Cypress.Cookies.preserveOnce('X-PriceFx-Csrf-Token', 'X-PriceFx-jwt');     // Restore the logged in status by restoring the local storage     cy.restoreLocalStorage().then(() => {       cy.waitForSpinner();     });   });   //1) open Dashboard   //2) check that name in breadcrubs is correct   //3) check for no error message   //4) check for content loading   //5) repeat for all dashboards   //---------------------------------------------------------   //1) open Dashboard   //5) repeat for all dashboards   Cypress._.times(Cypress.env('timesRepeated'), () => {     dashboards.forEach(dashboard => {       it(`Load ${dashboard.name}`, () => {         cy.visit(dashboard.url);         cy.waitForSpinner();   //2) check that name in breadcrubs is correct         cy.contains('[data-test=ucBreadcrumbs]', dashboard.name);   //3) check for no error message         cy.get('.sharedNotification--type-error', { timeout: 0 }).should('not.be.visible');   //4) check for content loading         if (dashboard.hasContent) {           cy.get('.dashboardContent');         }       });     });   }); });

Download test for LoginAPI- Dashboards here.

Â