237 lines
8.3 KiB
JavaScript
237 lines
8.3 KiB
JavaScript
/** @odoo-module **/
|
|
|
|
import { registry } from "@web/core/registry";
|
|
import { stepUtils } from "@web_tour/tour_service/tour_utils";
|
|
import { accountTourSteps } from "@account/js/tours/account";
|
|
|
|
registry.category("web_tour.tours").add("fusion_accounting_bank_rec_widget", {
|
|
url: "/odoo",
|
|
steps: () => [
|
|
stepUtils.showAppsMenuItem(),
|
|
...accountTourSteps.goToAccountMenu("Open the accounting module"),
|
|
|
|
// Open the widget. The first line should be selected by default.
|
|
{
|
|
trigger: ".o_breadcrumb",
|
|
},
|
|
{
|
|
content: "Open the bank reconciliation widget",
|
|
trigger: "button.btn-secondary[name='action_open_reconcile']",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: "div[name='line_ids']",
|
|
},
|
|
{
|
|
content: "The 'line1' should be selected by default",
|
|
trigger: "div[name='line_ids'] td[field='name']:contains('line1')",
|
|
},
|
|
|
|
// Test 1: Check the loading of lazy notebook tabs.
|
|
// Check 'amls_tab' (active by default).
|
|
{
|
|
trigger: "div.bank_rec_widget_form_amls_list_anchor table.o_list_table",
|
|
},
|
|
{
|
|
content: "The 'amls_tab' should be active and the inner list view loaded",
|
|
trigger: "a.active[name='amls_tab']",
|
|
},
|
|
// Check 'discuss_tab'.
|
|
{
|
|
trigger: "a.active[name='amls_tab']",
|
|
},
|
|
{
|
|
content: "Click on the 'discuss_tab'",
|
|
trigger: "a[name='discuss_tab']",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: "a.active[name='discuss_tab']",
|
|
},
|
|
{
|
|
content: "The 'discuss_tab' should be active and the chatter loaded",
|
|
trigger: "div.bank_rec_widget_form_discuss_anchor div.o-mail-Chatter",
|
|
},
|
|
// Check 'manual_operations_tab'.
|
|
{
|
|
trigger: "tr.o_bank_rec_auto_balance_line",
|
|
},
|
|
{
|
|
content: "Click on the 'auto_balance' to make the 'manual_operations_tab' visible",
|
|
trigger: "tr.o_bank_rec_auto_balance_line td[field='name']",
|
|
run: "click",
|
|
},
|
|
{
|
|
content: "The 'manual_operations_tab' should be active",
|
|
trigger: "a.active[name='manual_operations_tab']",
|
|
},
|
|
{
|
|
content: "The 'name' field should be focus automatically",
|
|
trigger: "div.o_notebook div[name='name'] input:focus",
|
|
},
|
|
{
|
|
trigger: "tr.o_bank_rec_auto_balance_line",
|
|
},
|
|
{
|
|
content: "Click on the 'credit' field to change the focus from 'name' to 'amount_currency'",
|
|
trigger: "tr.o_bank_rec_auto_balance_line td[field='credit']",
|
|
run: "click",
|
|
},
|
|
{
|
|
content: "Wait to avoid non-deterministic errors on the next step",
|
|
trigger: "tr.o_bank_rec_auto_balance_line td[field='credit']",
|
|
},
|
|
{
|
|
content: "The 'balance' field should be focus now",
|
|
trigger: "div.o_notebook div[name='amount_currency'] input:focus",
|
|
},
|
|
|
|
// Test 2: Test validation + auto select the next line.
|
|
{
|
|
trigger: "a.active[name='manual_operations_tab']",
|
|
},
|
|
{
|
|
content: "Click on the 'amls_tab'",
|
|
trigger: "a[name='amls_tab']",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: "a.active[name='amls_tab']",
|
|
},
|
|
{
|
|
content: "Mount INV/2019/00002",
|
|
trigger:
|
|
"div.bank_rec_widget_form_amls_list_anchor table.o_list_table td[name='move_id']:contains('INV/2019/00002')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger:
|
|
"div.bank_rec_widget_form_amls_list_anchor table.o_list_table tr.o_rec_widget_list_selected_item td[name='move_id']:contains('INV/2019/00002')",
|
|
},
|
|
{
|
|
content: "Check INV/2019/00002 is well marked as selected",
|
|
trigger:
|
|
"div.bank_rec_widget_form_amls_list_anchor table.o_list_table tr.o_rec_widget_list_selected_item td[name='move_id']:contains('INV/2019/00002')",
|
|
},
|
|
{
|
|
trigger:
|
|
"div.bank_rec_widget_form_amls_list_anchor table.o_list_table tr.o_rec_widget_list_selected_item td[name='move_id']:contains('INV/2019/00002')",
|
|
},
|
|
{
|
|
content: "Remove INV/2019/00002",
|
|
trigger: "tr td.o_list_record_remove button",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger:
|
|
"div.bank_rec_widget_form_amls_list_anchor table.o_list_table tr:not(.o_rec_widget_list_selected_item) td[name='move_id']:contains('INV/2019/00002')",
|
|
},
|
|
{
|
|
content: "Mount INV/2019/00001",
|
|
trigger:
|
|
"div.bank_rec_widget_form_amls_list_anchor table.o_list_table td[name='move_id']:contains('INV/2019/00001')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger:
|
|
"div.bank_rec_widget_form_amls_list_anchor table.o_list_table tr.o_rec_widget_list_selected_item td[name='move_id']:contains('INV/2019/00001')",
|
|
},
|
|
{
|
|
content: "Validate",
|
|
trigger: "button:contains('Validate')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: "div[name='line_ids'] td[field='name']:contains('line2')",
|
|
},
|
|
{
|
|
content: "The 'line2' is the next not already reconciled line",
|
|
trigger: "div[name='line_ids'] td[field='name']:contains('line2')",
|
|
},
|
|
|
|
// Test 3: Test manual operations tab.
|
|
{
|
|
content: "Click on 'credit'",
|
|
trigger: "div[name='line_ids'] td[field='credit']:last",
|
|
run: "click",
|
|
},
|
|
{
|
|
content:
|
|
"The 'manual_operations_tab' should be active now and the auto_balance line mounted in edit",
|
|
trigger: "a.active[name='manual_operations_tab']",
|
|
},
|
|
{
|
|
content: "The last line should be selected",
|
|
trigger: "div[name='line_ids'] tr.o_bank_rec_selected_line",
|
|
},
|
|
{
|
|
content: "Search for 'partner_a'",
|
|
trigger: "div[name='partner_id'] input",
|
|
run: "edit partner_a",
|
|
},
|
|
{
|
|
trigger: ".ui-autocomplete .o_m2o_dropdown_option a:contains('Create')",
|
|
},
|
|
{
|
|
content: "Select 'partner_a'",
|
|
trigger: ".ui-autocomplete:visible li:contains('partner_a')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger:
|
|
"tr:not(.o_bank_rec_auto_balance_line) td[field='partner_id']:contains('partner_a')",
|
|
},
|
|
{
|
|
content: "Select the payable account",
|
|
trigger: "button:contains('Payable')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger:
|
|
"tr:not(.o_bank_rec_auto_balance_line) td[field='account_id']:contains('Payable')",
|
|
},
|
|
{
|
|
content: "Enter a tax",
|
|
trigger: "div[name='tax_ids'] input",
|
|
run: "edit 15",
|
|
},
|
|
{
|
|
trigger: ".ui-autocomplete",
|
|
},
|
|
{
|
|
content: "Select 'Tax 15% (Sales)'",
|
|
trigger: ".ui-autocomplete:visible li:contains('Sales')",
|
|
run: "click",
|
|
},
|
|
{
|
|
content: "Tax column appears in list of lines",
|
|
trigger: "div[name='line_ids'] td[field='tax_ids']",
|
|
},
|
|
{
|
|
content: "Wait to avoid non-deterministic errors on the next step",
|
|
trigger: "div[name='line_ids'] td:contains('Tax Received')",
|
|
},
|
|
{
|
|
trigger: "button.btn-primary:contains('Validate')",
|
|
},
|
|
{
|
|
content: "Validate",
|
|
trigger: "button:contains('Validate')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: "div[name='line_ids'] td[field='name']:contains('line3')",
|
|
},
|
|
{
|
|
content: "The 'line3' is the next not already reconciled line",
|
|
trigger: "div[name='line_ids'] td[field='name']:contains('line3')",
|
|
},
|
|
...stepUtils.toggleHomeMenu(),
|
|
...accountTourSteps.goToAccountMenu("Reset back to accounting module"),
|
|
{
|
|
content: "check that we're back on the dashboard",
|
|
trigger: 'a:contains("Customer Invoices")',
|
|
},
|
|
],
|
|
});
|