From bedb0addf0ca7e81ca10379f1830d42167811ca4 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Fri, 2 Jul 2021 20:36:51 +0530 Subject: [PATCH] test: ui test for stock levels --- cypress/integration/test_item.js | 44 ++++++++++++++++++++++++++++++++ cypress/support/commands.js | 6 +++++ 2 files changed, 50 insertions(+) create mode 100644 cypress/integration/test_item.js diff --git a/cypress/integration/test_item.js b/cypress/integration/test_item.js new file mode 100644 index 0000000000..fcb7533a22 --- /dev/null +++ b/cypress/integration/test_item.js @@ -0,0 +1,44 @@ +describe("Test Item Dashboard", () => { + before(() => { + cy.login(); + cy.visit("/app/item"); + cy.insert_doc( + "Item", + { + item_code: "e2e_test_item", + item_group: "All Item Groups", + opening_stock: 42, + valuation_rate: 100, + }, + true + ); + cy.go_to_doc("item", "e2e_test_item"); + }); + + it("should show dashboard with correct data on first load", () => { + cy.get(".stock-levels").contains("Stock Levels").should("be.visible"); + cy.get(".stock-levels").contains("e2e_test_item").should("exist"); + + // reserved and available qty + cy.get(".stock-levels .inline-graph-count") + .eq(0) + .contains("0") + .should("exist"); + cy.get(".stock-levels .inline-graph-count") + .eq(1) + .contains("42") + .should("exist"); + }); + + it("should persist on field change", () => { + cy.get('input[data-fieldname="disabled"]').check(); + cy.wait(500); + cy.get(".stock-levels").contains("Stock Levels").should("be.visible"); + cy.get(".stock-levels").should("have.length", 1); + }); + + it("should persist on reload", () => { + cy.reload(); + cy.get(".stock-levels").contains("Stock Levels").should("be.visible"); + }); +}); diff --git a/cypress/support/commands.js b/cypress/support/commands.js index 7929a2e0ef..7ddc80ab8d 100644 --- a/cypress/support/commands.js +++ b/cypress/support/commands.js @@ -23,3 +23,9 @@ // // -- This is will overwrite an existing command -- // Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... }); + +const slug = (name) => name.toLowerCase().replace(" ", "-"); + +Cypress.Commands.add("go_to_doc", (doctype, name) => { + cy.visit(`/app/${slug(doctype)}/${encodeURIComponent(name)}`); +});