IO-2327 posting bills test cases
This commit is contained in:
@@ -448,6 +448,14 @@ describe.only(
|
|||||||
.click({ multiple: true });
|
.click({ multiple: true });
|
||||||
});
|
});
|
||||||
|
|
||||||
|
cy.get('[data-cy="is-credit-memo-switch"]').click();
|
||||||
|
|
||||||
|
cy.get('[data-cy="is-credit-memo-switch"]').should(
|
||||||
|
"have.attr",
|
||||||
|
"aria-checked",
|
||||||
|
"false"
|
||||||
|
);
|
||||||
|
|
||||||
cy.get('[data-cy="bill-line-actual-cost"]').then((cells) => {
|
cy.get('[data-cy="bill-line-actual-cost"]').then((cells) => {
|
||||||
cy.get('[data-cy="bill-line-actual-price"]').then((priceCells) => {
|
cy.get('[data-cy="bill-line-actual-price"]').then((priceCells) => {
|
||||||
const totals = cells.toArray().map((el) => Number(el.value));
|
const totals = cells.toArray().map((el) => Number(el.value));
|
||||||
@@ -493,7 +501,7 @@ describe.only(
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
cy.get('[data-cy="bill-form-save-button"]').click();
|
// cy.get('[data-cy="bill-form-save-button"]').click();
|
||||||
|
|
||||||
cy.get("#totalReturns")
|
cy.get("#totalReturns")
|
||||||
.invoke("text")
|
.invoke("text")
|
||||||
@@ -515,7 +523,7 @@ describe.only(
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it.only("receives credit memo with return part", () => {
|
it("receives credit memo with return part", () => {
|
||||||
// Find the first row in the parts order
|
// Find the first row in the parts order
|
||||||
cy.get('[data-cy="part-orders-table"]')
|
cy.get('[data-cy="part-orders-table"]')
|
||||||
.find(".ant-table-tbody")
|
.find(".ant-table-tbody")
|
||||||
@@ -550,7 +558,6 @@ describe.only(
|
|||||||
.click({ multiple: true });
|
.click({ multiple: true });
|
||||||
});
|
});
|
||||||
|
|
||||||
// TODO Credit memo should be checked
|
|
||||||
cy.get('[data-cy="is-credit-memo-switch"]').should(
|
cy.get('[data-cy="is-credit-memo-switch"]').should(
|
||||||
"have.attr",
|
"have.attr",
|
||||||
"aria-checked",
|
"aria-checked",
|
||||||
@@ -558,57 +565,79 @@ describe.only(
|
|||||||
);
|
);
|
||||||
|
|
||||||
cy.get('[data-cy="bill-line-actual-cost"]').then((cells) => {
|
cy.get('[data-cy="bill-line-actual-cost"]').then((cells) => {
|
||||||
const totals = cells.toArray().map((el) => Number(el.value));
|
cy.get('[data-cy="bill-line-actual-price"]').then((priceCells) => {
|
||||||
const sum = Cypress._.sum(totals);
|
const totals = cells.toArray().map((el) => Number(el.value));
|
||||||
|
const priceTotals = priceCells
|
||||||
cy.get('[data-cy="bill-form-bill-total"]').type(sum);
|
|
||||||
|
|
||||||
// Get taxes add it to the sum
|
|
||||||
cy.get('[data-cy="bill-form-tax"]').then((taxes) => {
|
|
||||||
const subtotals = taxes
|
|
||||||
.toArray()
|
.toArray()
|
||||||
.map((el) => Number(el.innerText.substring(1)));
|
.map((el) => Number(el.value));
|
||||||
const totalTax = Cypress._.sum(subtotals);
|
const sum = Cypress._.sum(totals);
|
||||||
|
const priceSum = Cypress._.sum(priceTotals);
|
||||||
|
|
||||||
const billAmount = sum + totalTax;
|
cy.get('[data-cy="bill-form-bill-total"]').type(sum);
|
||||||
|
|
||||||
cy.get('[data-cy="bill-form-bill-total"]')
|
// Get taxes add it to the sum
|
||||||
.find("input")
|
cy.get('[data-cy="bill-form-tax"]').then((taxes) => {
|
||||||
.clear()
|
const subtotals = taxes
|
||||||
.type(billAmount);
|
.toArray()
|
||||||
|
.map((el) => Number(el.innerText.substring(1)));
|
||||||
|
const totalTax = Cypress._.sum(subtotals);
|
||||||
|
|
||||||
|
const billAmount = sum + totalTax;
|
||||||
|
|
||||||
|
cy.get('[data-cy="bill-form-bill-total"]')
|
||||||
|
.find("input")
|
||||||
|
.clear()
|
||||||
|
.type(billAmount);
|
||||||
|
});
|
||||||
|
|
||||||
|
cy.get("#bill-form-discrepancy").should("have.text", "$0.00");
|
||||||
|
|
||||||
|
cy.get(`.ant-select-bill-cost-center > .ant-select-selector`).each(
|
||||||
|
(select) => {
|
||||||
|
cy.wrap(select).click();
|
||||||
|
|
||||||
|
cy.wrap(select)
|
||||||
|
.find("input")
|
||||||
|
.invoke("attr", "id")
|
||||||
|
.then((id) => {
|
||||||
|
cy.get(`#${id}_list`)
|
||||||
|
.next()
|
||||||
|
.find(".ant-select-item-option-content")
|
||||||
|
.first()
|
||||||
|
.click({ force: true });
|
||||||
|
});
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
cy.get('[data-cy="mark-as-received-checkbox"]').check({
|
||||||
|
multiple: true,
|
||||||
|
});
|
||||||
|
|
||||||
|
cy.get('[data-cy="bill-form-save-button"]').click();
|
||||||
|
|
||||||
|
cy.get("#totalReturns")
|
||||||
|
.invoke("text")
|
||||||
|
.then((value) => {
|
||||||
|
const totalReturns =
|
||||||
|
Number(value.substring(1)) - priceSum < 0
|
||||||
|
? 0
|
||||||
|
: Number(value.substring(1)) - priceSum;
|
||||||
|
|
||||||
|
cy.get("#creditsnotreceived").should(
|
||||||
|
"have.text",
|
||||||
|
Dinero({
|
||||||
|
amount: totalReturns,
|
||||||
|
precision: 0,
|
||||||
|
}).toFormat()
|
||||||
|
);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
cy.get("#bill-form-discrepancy").should("have.text", "$0.00");
|
|
||||||
|
|
||||||
cy.get(`.ant-select-bill-cost-center > .ant-select-selector`).each(
|
|
||||||
(select) => {
|
|
||||||
cy.wrap(select).click();
|
|
||||||
|
|
||||||
cy.wrap(select)
|
|
||||||
.find("input")
|
|
||||||
.invoke("attr", "id")
|
|
||||||
.then((id) => {
|
|
||||||
cy.get(`#${id}_list`)
|
|
||||||
.next()
|
|
||||||
.find(".ant-select-item-option-content")
|
|
||||||
.first()
|
|
||||||
.click({ force: true });
|
|
||||||
});
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
cy.get('[data-cy="mark-as-received-checkbox"]').check();
|
|
||||||
|
|
||||||
// Click save
|
|
||||||
// cy.get('[data-cy="bill-form-save-button"]').click();
|
|
||||||
|
|
||||||
// TODO add assertion to the total
|
|
||||||
cy.get("#calculatedcreditsnotreceived").should("have.text", "$0.00");
|
|
||||||
cy.get("#creditsnotreceived").should("have.text", "$0.00");
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// TODO add more assertions to the parts table
|
// TODO add more assertions to the parts table
|
||||||
it("views the row expander if it has the order and bill", () => {
|
// location, status
|
||||||
|
it.only("views the row expander if it has the order and bill", () => {
|
||||||
cy.get('[data-cy="tab-repairdata"]').should("be.visible").click();
|
cy.get('[data-cy="tab-repairdata"]').should("be.visible").click();
|
||||||
|
|
||||||
cy.get('[data-cy="filter-parts-button"]')
|
cy.get('[data-cy="filter-parts-button"]')
|
||||||
@@ -619,7 +648,6 @@ describe.only(
|
|||||||
.find(".ant-table-tbody")
|
.find(".ant-table-tbody")
|
||||||
.find("> tr:not(.ant-table-measure-row)")
|
.find("> tr:not(.ant-table-measure-row)")
|
||||||
.first()
|
.first()
|
||||||
.next()
|
|
||||||
.find("td")
|
.find("td")
|
||||||
.first()
|
.first()
|
||||||
.click();
|
.click();
|
||||||
|
|||||||
Reference in New Issue
Block a user