Files
2026-02-22 01:22:18 -05:00

263 lines
9.4 KiB
JavaScript

/** @odoo-module **/
import { Asserts } from "./asserts";
import { registry } from "@web/core/registry";
registry.category("web_tour.tours").add("account_reports", {
url: "/odoo/action-fusion_accounting.action_account_report_bs",
steps: () => [
//--------------------------------------------------------------------------------------------------------------
// Foldable
//--------------------------------------------------------------------------------------------------------------
{
content: "Initial foldable",
trigger: ".o_content",
run: () => {
Asserts.DOMContainsNumber("tbody > tr:not(.d-none):not(.empty)", 28);
// Since the total line is not displayed (folded), the amount should be on the line
Asserts.isEqual(
document.querySelector("tr:nth-child(4) td:nth-child(2)").textContent,
"75.00"
);
},
},
{
content: "Click to unfold line",
trigger: "tr:nth-child(4) td:first()",
run: "click",
},
{
content: "Line is unfolded",
trigger: "tr:nth-child(5) .name:contains('101401')",
run: () => {
Asserts.DOMContainsNumber("tbody > tr:not(.d-none):not(.empty)", 30);
// Since the total line is displayed (unfolded), the amount should not be on the line
Asserts.isEqual(
document.querySelector("tr:nth-child(4) td:nth-child(2)").textContent,
""
);
},
},
{
content: "Click to fold line",
trigger: "tr:nth-child(4) td:first()",
run: "click",
},
{
content: "Line is folded",
trigger: ".o_content",
run: () => {
Asserts.DOMContainsNumber("tbody > tr:not(.d-none):not(.empty)", 28);
},
},
//--------------------------------------------------------------------------------------------------------------
// Sortable
//--------------------------------------------------------------------------------------------------------------
{
content: "Unfold first line",
trigger: "tr:nth-child(4) td:first()",
run: "click",
},
{
content: "Unfold second line",
trigger: "tr:nth-child(7) td:first()",
run: "click",
},
{
content: "Unfold third line",
trigger: "tr:nth-child(10) td:first()",
run: "click",
},
{
content: "Extra Trigger step",
trigger: "tr:nth-child(12):not(.d-none) .name:contains('101404')",
},
{
content: "Initial sortable",
trigger: ".o_content",
run: () => {
// Bank and Cash Accounts
Asserts.isEqual(
document.querySelector("tr:nth-child(5) td:nth-child(2)").textContent,
"75.00"
);
Asserts.isEqual(
document.querySelector("tr:nth-child(6) td:nth-child(2)").textContent,
"75.00"
);
// Receivables
Asserts.isEqual(
document.querySelector("tr:nth-child(8) td:nth-child(2)").textContent,
"25.00"
);
Asserts.isEqual(
document.querySelector("tr:nth-child(9) td:nth-child(2)").textContent,
"25.00"
);
// Current Assets
Asserts.isEqual(
document.querySelector("tr:nth-child(11) td:nth-child(2)").textContent,
"100.00"
);
Asserts.isEqual(
document.querySelector("tr:nth-child(12) td:nth-child(2)").textContent,
"50.00"
);
Asserts.isEqual(
document.querySelector("tr:nth-child(13) td:nth-child(2)").textContent,
"150.00"
);
},
},
{
content: "Click sort",
trigger: "th .btn_sortable",
run: "click",
},
{
trigger: "tr:nth-child(11) td:nth-child(2):contains('50.00')",
},
{
content: "Unfold not previously unfolded line",
trigger: "tr:nth-child(22):contains('Current Liabilities') td:first()",
run: "click",
},
{
content: "Line is unfolded",
trigger: "tr:nth-child(23) .name:contains('251000')",
run: "click",
},
{
content: "Sortable (asc)",
trigger: "tr:nth-child(11) td:nth-child(2):contains('50.00')",
run: () => {
// Bank and Cash Accounts
Asserts.isEqual(
document.querySelector("tr:nth-child(5) td:nth-child(2)").textContent,
"75.00"
);
Asserts.isEqual(
document.querySelector("tr:nth-child(6) td:nth-child(2)").textContent,
"75.00"
);
// Receivables
Asserts.isEqual(
document.querySelector("tr:nth-child(8) td:nth-child(2)").textContent,
"25.00"
);
Asserts.isEqual(
document.querySelector("tr:nth-child(9) td:nth-child(2)").textContent,
"25.00"
);
// Current Assets
Asserts.isEqual(
document.querySelector("tr:nth-child(11) td:nth-child(2)").textContent,
"50.00"
);
Asserts.isEqual(
document.querySelector("tr:nth-child(12) td:nth-child(2)").textContent,
"100.00"
);
Asserts.isEqual(
document.querySelector("tr:nth-child(13) td:nth-child(2)").textContent,
"150.00"
);
},
},
{
content: "Click sort",
trigger: "th .btn_sortable",
run: "click",
},
{
content: "Sortable (desc)",
trigger: "tr:nth-child(11) td:nth-child(2):contains('100.00')",
run: () => {
// Bank and Cash Accounts
Asserts.isEqual(
document.querySelector("tr:nth-child(5) td:nth-child(2)").textContent,
"75.00"
);
Asserts.isEqual(
document.querySelector("tr:nth-child(6) td:nth-child(2)").textContent,
"75.00"
);
// Receivables
Asserts.isEqual(
document.querySelector("tr:nth-child(8) td:nth-child(2)").textContent,
"25.00"
);
Asserts.isEqual(
document.querySelector("tr:nth-child(9) td:nth-child(2)").textContent,
"25.00"
);
// Current Assets
Asserts.isEqual(
document.querySelector("tr:nth-child(11) td:nth-child(2)").textContent,
"100.00"
);
Asserts.isEqual(
document.querySelector("tr:nth-child(12) td:nth-child(2)").textContent,
"50.00"
);
Asserts.isEqual(
document.querySelector("tr:nth-child(13) td:nth-child(2)").textContent,
"150.00"
);
},
},
{
content: "Click sort",
trigger: "th .btn_sortable",
run: "click",
},
{
content: "Sortable (reset)",
trigger: "tr:nth-child(5) td:nth-child(2):contains('75.00')",
run: () => {
// Bank and Cash Accounts
Asserts.isEqual(
document.querySelector("tr:nth-child(5) td:nth-child(2)").textContent,
"75.00"
);
Asserts.isEqual(
document.querySelector("tr:nth-child(6) td:nth-child(2)").textContent,
"75.00"
);
// Receivables
Asserts.isEqual(
document.querySelector("tr:nth-child(8) td:nth-child(2)").textContent,
"25.00"
);
Asserts.isEqual(
document.querySelector("tr:nth-child(9) td:nth-child(2)").textContent,
"25.00"
);
// Current Assets
Asserts.isEqual(
document.querySelector("tr:nth-child(11) td:nth-child(2)").textContent,
"100.00"
);
Asserts.isEqual(
document.querySelector("tr:nth-child(12) td:nth-child(2)").textContent,
"50.00"
);
Asserts.isEqual(
document.querySelector("tr:nth-child(13) td:nth-child(2)").textContent,
"150.00"
);
},
},
],
});