984 lines
34 KiB
JavaScript
984 lines
34 KiB
JavaScript
/** @odoo-module **/
|
|
|
|
import { registry } from "@web/core/registry";
|
|
import { stepUtils } from "@web_tour/tour_service/tour_utils";
|
|
import { patch } from "@web/core/utils/patch";
|
|
import { accountTourSteps } from "@account/js/tours/account";
|
|
|
|
patch(accountTourSteps, {
|
|
bankRecUiReportSteps() {
|
|
return [
|
|
{
|
|
trigger: ".o_bank_rec_selected_st_line:contains('line1')",
|
|
},
|
|
{
|
|
content: "balance is 2100",
|
|
trigger: ".btn-link:contains('$ 2,100.00')",
|
|
},
|
|
];
|
|
},
|
|
});
|
|
patch(accountTourSteps, {
|
|
bankRecUiReportSteps() {
|
|
return [
|
|
{
|
|
trigger: ".o_bank_rec_selected_st_line:contains('line1')",
|
|
},
|
|
{
|
|
content: "balance is 2100",
|
|
trigger: ".btn-link:contains('$ 2,100.00')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: "span:contains('General Ledger')",
|
|
},
|
|
{
|
|
content: "Breadcrumb back to Bank Reconciliation from the report",
|
|
trigger: ".breadcrumb-item a:contains('Bank Reconciliation')",
|
|
run: "click",
|
|
},
|
|
];
|
|
},
|
|
});
|
|
|
|
|
|
registry.category("web_tour.tours").add("fusion_accounting_bank_rec_widget_ui", {
|
|
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'] td[field='name']:contains('line1')",
|
|
},
|
|
{
|
|
content: "'line1' should be selected and form mounted",
|
|
trigger: ".o_bank_rec_selected_st_line:contains('line1')",
|
|
},
|
|
// Select line2. It should remain selected when returning using the breadcrumbs.
|
|
{
|
|
trigger: ".o_bank_rec_st_line:contains('line3')",
|
|
},
|
|
{
|
|
content: "select 'line2'",
|
|
trigger: ".o_bank_rec_st_line:contains('line2')",
|
|
run: "click",
|
|
},
|
|
{
|
|
content: "'line2' should be selected",
|
|
trigger: ".o_bank_rec_selected_st_line:contains('line2')",
|
|
},
|
|
{
|
|
content: "View an invoice",
|
|
trigger: "button.btn-secondary[name='action_open_business_doc']:eq(1)",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o_breadcrumb .active:contains('INV/2019/00001')",
|
|
},
|
|
{
|
|
content: "Breadcrumb back to Bank Reconciliation from INV/2019/00001",
|
|
trigger: ".breadcrumb-item:contains('Bank Reconciliation')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o_bank_rec_st_line:contains('line1')",
|
|
},
|
|
{
|
|
content: "'line2' should be selected after returning",
|
|
trigger: ".o_bank_rec_selected_st_line:contains('line2')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: "div[name='line_ids'] td[field='name']:contains('line2')",
|
|
},
|
|
{
|
|
content: "'line2' form mounted",
|
|
trigger: ".o_bank_rec_selected_st_line:contains('line2')",
|
|
run: "click",
|
|
},
|
|
// Keep AML search, and prepared entry (line_ids) when changing tabs, using breadcrumbs, and view switcher
|
|
{
|
|
trigger:
|
|
"div.bank_rec_widget_form_amls_list_anchor table.o_list_table tr:nth-child(2) td[name='move_id']:contains('INV/2019/00001')",
|
|
},
|
|
{
|
|
content: "AMLs list has both invoices",
|
|
trigger:
|
|
"div.bank_rec_widget_form_amls_list_anchor table.o_list_table tr:nth-child(1) td[name='move_id']:contains('INV/2019/00002')",
|
|
},
|
|
{
|
|
trigger: "a.active[name='amls_tab']",
|
|
},
|
|
{
|
|
content: "Search for INV/2019/00001",
|
|
trigger: "div.bank_rec_widget_form_amls_list_anchor .o_searchview_input",
|
|
run: "edit INV/2019/00001",
|
|
},
|
|
{
|
|
content: "Select the Journal Entry search option from the dropdown",
|
|
trigger: ".o_searchview_autocomplete li:contains(Journal Entry)",
|
|
run: "click",
|
|
},
|
|
{
|
|
content: "AMLs list only displays one invoice",
|
|
trigger:
|
|
"div.bank_rec_widget_form_amls_list_anchor table.o_list_table tr:nth-child(1) td[name='move_id']:contains('INV/2019/00001')",
|
|
},
|
|
{
|
|
content: "Liquidity line displays debit '$ 1,000.00'",
|
|
trigger:
|
|
"div[name='line_ids'] table.o_list_table tr.o_bank_rec_liquidity_line td[field='debit']:contains('$ 1,000.00')",
|
|
},
|
|
{
|
|
content: "Select the liquidity line",
|
|
trigger: "tr.o_bank_rec_liquidity_line td[field='debit']",
|
|
run: "click",
|
|
},
|
|
{
|
|
content: "Modify the liquidity line amount",
|
|
trigger: "div[name='amount_currency'] input",
|
|
run: "edit 100.00 && click body",
|
|
},
|
|
{
|
|
content: "Liquidity line displays debit '$ 100.00'",
|
|
trigger:
|
|
"div[name='line_ids'] table.o_list_table tr.o_bank_rec_liquidity_line td[field='debit']:contains('$ 100.00')",
|
|
},
|
|
{
|
|
trigger: "div[name='partner_id'] input",
|
|
},
|
|
{
|
|
content: "Select 'amls_tab'",
|
|
trigger: "a[name='amls_tab']",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger:
|
|
"div.bank_rec_widget_form_amls_list_anchor .o_searchview_facet:nth-child(1) .o_facet_value:contains('INV/2019/00001')",
|
|
},
|
|
{
|
|
content: "AMLs list contains the search facet, and one invoice - select it",
|
|
trigger:
|
|
"div.bank_rec_widget_form_amls_list_anchor table.o_list_table tr:nth-child(1) 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: "Check INV/2019/00001 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/00001')",
|
|
},
|
|
{
|
|
content: "View an invoice",
|
|
trigger: "button.btn-secondary[name='action_open_business_doc']:nth-child(1)",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o_breadcrumb .active:contains('INV/2019/00001')",
|
|
},
|
|
{
|
|
content: "Breadcrumb back to Bank Reconciliation from INV/2019/00001",
|
|
trigger: ".breadcrumb-item:contains('Bank Reconciliation')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger:
|
|
"div.bank_rec_widget_form_amls_list_anchor .o_searchview_facet:nth-child(1) .o_facet_value:contains('INV/2019/00001')",
|
|
},
|
|
{
|
|
content: "Check INV/2019/00001 is selected and still contains the search facet",
|
|
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')",
|
|
},
|
|
// Search should remove some lines, select the first unmatched record, and persist when returning with breadcrumbs
|
|
{
|
|
trigger: "a.active[name='amls_tab']",
|
|
},
|
|
{
|
|
content: "Search for line2",
|
|
trigger: "div.o_kanban_view .o_searchview_input",
|
|
run: "fill line2",
|
|
},
|
|
{
|
|
content: "Select the Transaction search option from the dropdown",
|
|
trigger: ".o_searchview_autocomplete li:contains(Transaction)",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: "div[name='line_ids'] td[field='name']:contains('line2')",
|
|
},
|
|
{
|
|
content: "'line2' should be selected",
|
|
trigger: ".o_bank_rec_st_line:last():contains('line2')",
|
|
},
|
|
{
|
|
trigger:
|
|
"div.bank_rec_widget_form_amls_list_anchor .o_searchview_facet:nth-child(1) .o_facet_value:contains('INV/2019/00001')",
|
|
},
|
|
{
|
|
content:
|
|
"Nothing has changed: INV/2019/00001 is selected and still contains the search facet",
|
|
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')",
|
|
},
|
|
{
|
|
trigger: ".o_switch_view.o_kanban.active",
|
|
},
|
|
{
|
|
content: "Switch to list view",
|
|
trigger: ".o_switch_view.o_list",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o_switch_view.o_list.active",
|
|
},
|
|
{
|
|
content: "Switch back to kanban",
|
|
trigger: ".o_switch_view.o_kanban",
|
|
run: "click",
|
|
},
|
|
{
|
|
content: "Remove the kanban filter for line2",
|
|
trigger: ".o_kanban_view .o_searchview_facet:nth-child(3) .o_facet_remove",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger:
|
|
"div.bank_rec_widget_form_amls_list_anchor .o_searchview_facet:nth-child(1) .o_facet_value:contains('INV/2019/00001')",
|
|
},
|
|
{
|
|
content:
|
|
"Nothing has changed: INV/2019/00001 is still selected and contains the search facet",
|
|
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')",
|
|
},
|
|
// AML Search Facet is removed, and line_ids reset when changing line
|
|
{
|
|
trigger: ".o_bank_rec_st_line:contains('line3')",
|
|
},
|
|
{
|
|
content: "selecting 'line1' should reset the AML search filter ",
|
|
trigger: ".o_bank_rec_st_line:contains('line1')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: "div[name='line_ids'] td[field='name']:contains('line1')",
|
|
},
|
|
{
|
|
content: "select 'line2' again",
|
|
trigger: ".o_bank_rec_st_line:contains('line2')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: "div[name='line_ids'] td[field='name']:contains('line2')",
|
|
},
|
|
{
|
|
content: "Bank Suspense Account is back",
|
|
trigger: "div[name='line_ids'] .o_bank_rec_auto_balance_line",
|
|
},
|
|
{
|
|
content: "AML Search Filter has been reset",
|
|
trigger: ".o_list_view .o_searchview_input_container:not(:has(.o_searchview_facet))",
|
|
},
|
|
// Test statement line selection when using the pager
|
|
{
|
|
content: "Click Pager",
|
|
trigger: ".o_pager_value:first()",
|
|
run: "click",
|
|
},
|
|
{
|
|
content: "Change pager to display lines 1-2",
|
|
trigger: "input.o_pager_value",
|
|
run: "edit 1-2 && click body",
|
|
},
|
|
{
|
|
trigger: ".o_pager_value:contains('1-2')",
|
|
},
|
|
{
|
|
content: "Last St Line is line2",
|
|
trigger: ".o_bank_rec_st_line:last():contains('line2')",
|
|
},
|
|
{
|
|
content: "Page Next",
|
|
trigger: ".o_pager_next:first():not(:disabled)",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o_pager_value:contains('3-3')",
|
|
},
|
|
{
|
|
content: "Statement line3 is selected",
|
|
trigger: ".o_bank_rec_selected_st_line:contains('line3')",
|
|
},
|
|
{
|
|
content: "Page to beginning",
|
|
trigger: ".o_pager_next:first()",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: "div[name='line_ids'] td[field='name']:contains('line1')",
|
|
},
|
|
{
|
|
content: "Statement line1 is selected",
|
|
trigger: ".o_bank_rec_selected_st_line:contains('line1')",
|
|
},
|
|
// HTML buttons
|
|
{
|
|
content: "Mount an invoice",
|
|
trigger:
|
|
"div.bank_rec_widget_form_amls_list_anchor table.o_list_table td[name='move_id']:contains('INV/2019/00003')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger:
|
|
"div[name='line_ids']:has(.text-decoration-line-through:contains('$ 2,000.00'))",
|
|
},
|
|
{
|
|
content: "Select the mounted invoice line and check the strikethrough value",
|
|
trigger:
|
|
"div[name='line_ids'] tr.o_data_row:last() td[field='name']:contains('INV/2019/00003')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: "a.active[name='manual_operations_tab']",
|
|
},
|
|
{
|
|
content: "Fully Paid button",
|
|
trigger: "button[name='action_apply_line_suggestion']:contains('fully paid')",
|
|
run: "click",
|
|
},
|
|
{
|
|
content: "Check the remainder",
|
|
trigger:
|
|
"div[name='line_ids'] tr.o_data_row:contains('Suspense') td[field='debit']:contains('$ 1,000.00')",
|
|
},
|
|
{
|
|
content: "Partial Payment",
|
|
trigger: "button[name='action_apply_line_suggestion']:contains('partial payment')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: "button[name='action_apply_line_suggestion']:contains('fully paid')",
|
|
},
|
|
{
|
|
content: "View Invoice 0003",
|
|
trigger: "button[name='action_redirect_to_move']",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o_breadcrumb .active:contains('INV/2019/00003')",
|
|
},
|
|
{
|
|
content: "Breadcrumb back to Bank Reconciliation from INV/2019/00003",
|
|
trigger: ".breadcrumb-item:contains('Bank Reconciliation')",
|
|
run: "click",
|
|
},
|
|
{
|
|
content: "Select the mounted invoice line INV/2019/00003",
|
|
trigger:
|
|
"div[name='line_ids'] tr.o_data_row:last() td[field='name']:contains('INV/2019/00003')",
|
|
run: "click",
|
|
},
|
|
// Match Existing entries tab is activated when line is removed
|
|
{
|
|
trigger: "a.active[name='manual_operations_tab']",
|
|
},
|
|
{
|
|
content: "Remove the invoice",
|
|
trigger: ".o_list_record_remove .fa-trash-o",
|
|
run: "click",
|
|
},
|
|
{
|
|
content: "amls_tab is activated",
|
|
trigger: "a.active[name='amls_tab']",
|
|
},
|
|
{
|
|
content: "Activate Manual Operations to add manual entries",
|
|
trigger: "a[name='manual_operations_tab']",
|
|
run: "click",
|
|
},
|
|
{
|
|
content: "add manual entry 1",
|
|
trigger: "div[name='amount_currency'] input",
|
|
run: "edit -600.0 && click body",
|
|
},
|
|
{
|
|
content: "mount the remaining opening balance line",
|
|
trigger:
|
|
"div[name='line_ids'] tr.o_data_row:contains('Suspense') td[field='credit']:contains('$ 400.00')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: "div[name='amount_currency'] input:value('-400.00'):focus-within",
|
|
},
|
|
{
|
|
content: "Remove the manual entry",
|
|
trigger: ".o_list_record_remove .fa-trash-o",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger:
|
|
"div[name='line_ids'] tr.o_data_row:contains('Suspense') td[field='credit']:contains('$ 1,000.00')",
|
|
},
|
|
{
|
|
content: "amls_tab is activated and auto balancing line is 1000",
|
|
trigger: "a.active[name='amls_tab']",
|
|
},
|
|
{
|
|
content: "Mount another invoice",
|
|
trigger:
|
|
"div.bank_rec_widget_form_amls_list_anchor table.o_list_table td[name='move_id']:contains('INV/2019/00001')",
|
|
run: "click",
|
|
},
|
|
// After validating, line1 should disappear & line2 should be selected (due to filters)
|
|
{
|
|
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 line1",
|
|
trigger: "button:contains('Validate')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: "div[name='line_ids'] td[field='name']:contains('line2')",
|
|
},
|
|
{
|
|
content: "The 'line2' is the first kanban record and is selected",
|
|
trigger: ".o_bank_rec_st_line:first():contains('line2')",
|
|
},
|
|
// Test Reset, "Matched" badge and double-click
|
|
{
|
|
content: "Remove the kanban filter for 'Not Matched'",
|
|
trigger: ".o_kanban_view .o_searchview_facet:nth-child(2) .o_facet_remove",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: "div[name='line_ids'] td[field='name']:contains('line2')",
|
|
},
|
|
{
|
|
content: "The 'line1' is the first kanban record with line2 selected",
|
|
trigger: ".o_bank_rec_st_line:first():contains('line1')",
|
|
},
|
|
{
|
|
content: "Mount invoice 2 for line 2",
|
|
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: "Validate line2 with double click",
|
|
trigger: "button:contains('Validate')",
|
|
run: "dblclick",
|
|
},
|
|
{
|
|
trigger: ".o_bank_rec_st_line:contains('line2') .badge.text-bg-success",
|
|
},
|
|
{
|
|
content: "Click Pager again after line2 is matched",
|
|
trigger: ".o_pager_value:first()",
|
|
run: "click",
|
|
},
|
|
{
|
|
content: "Change pager to display lines 1-3",
|
|
trigger: "input.o_pager_value",
|
|
run: "edit 1-3 && click body",
|
|
},
|
|
{
|
|
trigger: ".o_bank_rec_selected_st_line:contains('line3')",
|
|
},
|
|
{
|
|
content: "manually select line2 again by clicking it's matched icon",
|
|
trigger: ".badge.text-bg-success:last()",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger:
|
|
"div[name='line_ids']:not(:has(.fa-trash-o)) td[field='name']:contains('line2')",
|
|
},
|
|
{
|
|
content: "Reset line2",
|
|
trigger: "button:contains('Reset')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o_bank_rec_selected_st_line:contains('line2'):not(:has(div.badge))",
|
|
},
|
|
{
|
|
content: "amls_tab is activated while still on line2 which doesn't contain a badge",
|
|
trigger: ".o_notebook a.active[name='amls_tab']",
|
|
},
|
|
// Test view_switcher
|
|
{
|
|
trigger: ".o_switch_view.o_kanban.active",
|
|
},
|
|
{
|
|
content: "Switch to list view",
|
|
trigger: ".o_switch_view.o_list",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".btn-secondary:contains('View')",
|
|
},
|
|
{
|
|
content: "Select the first Match Button (line2)",
|
|
trigger: ".btn-secondary:contains('Match')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o_bank_rec_st_line:last():contains('line2')",
|
|
},
|
|
{
|
|
content: "Last St Line is line2",
|
|
trigger: ".o_bank_rec_selected_st_line:contains('line2')",
|
|
run: "click",
|
|
},
|
|
{
|
|
content: "Button To Check will reconcile since partner is saved on line2",
|
|
trigger: ".btn-secondary:contains('To Check')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger:
|
|
".o_bank_rec_selected_st_line:contains('line2'):has(div.badge[title='Matched'] i):has(span.badge:contains('To check'))",
|
|
},
|
|
{
|
|
content: "both badges are visible, trash icon is not, manual operation tab is active",
|
|
trigger:
|
|
"div[name='line_ids']:not(:has(.fa-trash-o))+.o_notebook a.active[name='manual_operations_tab']",
|
|
},
|
|
{
|
|
trigger: ".o_switch_view.o_kanban.active",
|
|
},
|
|
{
|
|
content: "Switch to list view",
|
|
trigger: ".o_switch_view.o_list",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o_switch_view.o_list.active",
|
|
},
|
|
{
|
|
content: "Remove the line filter",
|
|
trigger: ".o_searchview_facet:contains('0002') .o_facet_remove",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o_data_row:contains('line2'):has(.btn-secondary:contains('View'))",
|
|
},
|
|
{
|
|
content: "Select the first Match Button (line3)",
|
|
trigger: ".btn-secondary:contains('Match')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o_bank_rec_stats_buttons",
|
|
},
|
|
{
|
|
content: "Open search bar menu",
|
|
trigger: ".o_searchview_dropdown_toggler:eq(0)",
|
|
run: "click",
|
|
},
|
|
// Test Reco Model
|
|
{
|
|
trigger: ".o-dropdown--menu.o_search_bar_menu",
|
|
},
|
|
{
|
|
content: "Choose a filter",
|
|
trigger: ".o_search_bar_menu .dropdown-item:first()",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o-dropdown--menu",
|
|
},
|
|
{
|
|
content: "Not Matched Filter",
|
|
trigger: ".dropdown-item:contains('Not Matched')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o_switch_view.o_kanban.active",
|
|
},
|
|
{
|
|
content: "reco model dropdown",
|
|
trigger: ".bank_rec_reco_model_dropdown i",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o-dropdown--menu",
|
|
},
|
|
{
|
|
content: "create model",
|
|
trigger: ".dropdown-item:contains('Create model')",
|
|
run: "click",
|
|
},
|
|
{
|
|
content: "model name",
|
|
trigger: "input#name_0",
|
|
run: "edit Bank Fees",
|
|
},
|
|
{
|
|
content: "add an account",
|
|
trigger: "a:contains('Add a line')",
|
|
run: "click",
|
|
},
|
|
{
|
|
content: "search for bank fees account",
|
|
trigger: "[name='account_id'] input",
|
|
run: "edit Bank Fees",
|
|
},
|
|
{
|
|
trigger: ".o-autocomplete--dropdown-menu",
|
|
},
|
|
{
|
|
content: "select the bank fees account",
|
|
trigger: ".o-autocomplete--dropdown-item:contains('Bank Fees')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o_breadcrumb .active > span:contains('New')",
|
|
},
|
|
{
|
|
content: "Breadcrumb back to Bank Reconciliation from the model",
|
|
trigger: ".breadcrumb-item:contains('Bank Reconciliation')",
|
|
run: "click",
|
|
},
|
|
{
|
|
content: "Choose Bank Fees Model",
|
|
trigger: ".recon_model_button:contains('Bank Fees')",
|
|
run: "click",
|
|
},
|
|
{
|
|
content: "Validate line3",
|
|
trigger: "button:contains('Validate').btn-primary",
|
|
run: "dblclick",
|
|
},
|
|
{
|
|
trigger: ".o_reward_rainbow_man",
|
|
},
|
|
{
|
|
content:
|
|
"Remove the kanbans 'not matched' filter to reset all lines - use the rainbow man button",
|
|
trigger: "p.btn-primary:contains('All Transactions')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger:
|
|
".o_kanban_view .o_searchview:first() .o_searchview_facet:last():contains('Bank')",
|
|
},
|
|
{
|
|
content: "Wait for search model change and line3 to appear",
|
|
trigger: ".o_bank_rec_st_line:last():contains('line3')",
|
|
},
|
|
{
|
|
trigger: ".o_bank_rec_selected_st_line:contains('line2')",
|
|
},
|
|
{
|
|
content: "'line2' should be selected, reset it",
|
|
trigger: "button:contains('Reset')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o_bank_rec_st_line:contains('line2'):not(:has(div.badge))",
|
|
},
|
|
{
|
|
content: "select matched 'line3'",
|
|
trigger: ".o_bank_rec_st_line:contains('line3')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o_bank_rec_selected_st_line:contains('line3')",
|
|
},
|
|
{
|
|
content: "'line3' should be selected, reset it",
|
|
trigger: "button:contains('Reset')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o_bank_rec_st_line:contains('line3'):not(:has(div.badge))",
|
|
},
|
|
{
|
|
content: "select matched 'line1'",
|
|
trigger: ".o_bank_rec_st_line:contains('line1')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o_bank_rec_selected_st_line:contains('line1')",
|
|
},
|
|
{
|
|
content: "'line1' should be selected, reset it",
|
|
trigger: "button:contains('Reset')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o_bank_rec_stats_buttons",
|
|
},
|
|
{
|
|
content: "Open search bar menu",
|
|
trigger: ".o_searchview_dropdown_toggler:eq(0)",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: "button:contains('Validate')",
|
|
},
|
|
{
|
|
content: "Filter Menu",
|
|
trigger: ".o_search_bar_menu .dropdown-item:first()",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o-dropdown--menu",
|
|
},
|
|
{
|
|
content: "Activate the Not Matched filter",
|
|
trigger: ".dropdown-item:contains('Not Matched')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o_searchview_facet:contains('Not Matched')",
|
|
},
|
|
{
|
|
content: "Close the Filter Menu",
|
|
trigger: ".o_searchview_dropdown_toggler:eq(0)",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o_searchview_facet:contains('Not Matched')",
|
|
},
|
|
{
|
|
content: "select 'line2'",
|
|
trigger: ".o_bank_rec_st_line:contains('line2')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o_bank_rec_selected_st_line:contains('line2')",
|
|
},
|
|
{
|
|
content: "Validate 'line2' again",
|
|
trigger: "button:contains('Validate')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o_bank_rec_selected_st_line:contains('line3')",
|
|
},
|
|
{
|
|
content: "'line3' should be selected now",
|
|
trigger: ".o_bank_rec_selected_st_line:contains('line3')",
|
|
},
|
|
// Test the Balance when changing journal and liquidity line
|
|
...stepUtils.toggleHomeMenu(),
|
|
...accountTourSteps.goToAccountMenu("Reset back to accounting module"),
|
|
{
|
|
trigger: ".o_breadcrumb",
|
|
},
|
|
{
|
|
content: "Open the bank reconciliation widget for Bank2",
|
|
trigger: "button.btn-secondary[name='action_open_reconcile']:last()",
|
|
run: "click",
|
|
},
|
|
{
|
|
content: "Remove the kanbans 'not matched' filter",
|
|
trigger: ".o_kanban_view .o_searchview_facet:nth-child(2) .o_facet_remove",
|
|
run: "click",
|
|
},
|
|
{
|
|
content: "Remove the kanban 'journal' filter",
|
|
trigger: ".o_kanban_view .o_searchview_facet:nth-child(1) .o_facet_remove",
|
|
run: "click",
|
|
},
|
|
{
|
|
content: "select 'line1' from another journal",
|
|
trigger: ".o_bank_rec_st_line:contains('line1')",
|
|
run: "click",
|
|
},
|
|
...accountTourSteps.bankRecUiReportSteps(),
|
|
{
|
|
content: "select 'line4' from this journal",
|
|
trigger: ".o_bank_rec_st_line:contains('line4')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o_bank_rec_selected_st_line:contains('line4')",
|
|
},
|
|
{
|
|
content: "balance is $222.22",
|
|
trigger: ".btn-link:contains('$ 222.22')",
|
|
},
|
|
{
|
|
content: "Select the liquidity line",
|
|
trigger: "tr.o_bank_rec_liquidity_line td[field='debit']",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: "div[name='amount_currency'] input:focus-within",
|
|
},
|
|
{
|
|
content: "Modify the liquidity line amount",
|
|
trigger: "div[name='amount_currency'] input",
|
|
run: "edit -333.33 && click body",
|
|
},
|
|
{
|
|
trigger: ".btn-link:contains('$ -333.33')",
|
|
},
|
|
{
|
|
content: "balance displays $-333.33",
|
|
trigger: ".btn-link:contains('$ -333.33')",
|
|
},
|
|
{
|
|
content: "Modify the label",
|
|
trigger: "div[name='name'] input",
|
|
run: "edit Spontaneous Combustion && click body",
|
|
},
|
|
{
|
|
content: "statement line displays combustion and $-333.33",
|
|
trigger: ".o_bank_rec_selected_st_line:contains('Combustion'):contains('$ -333.33')",
|
|
},
|
|
// Test that changing the balance in the list view updates the right side of the kanban view
|
|
// (including reapplying matching rules)
|
|
{
|
|
content: "select matched 'line2'",
|
|
trigger: ".o_bank_rec_st_line:contains('line2')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o_bank_rec_selected_st_line:contains('line2')",
|
|
},
|
|
{
|
|
content: "'line2' should be selected, reset it",
|
|
trigger: "button:contains('Reset')",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o_bank_rec_selected_st_line:contains('line2'):not(:has(div.badge))",
|
|
},
|
|
{
|
|
content: "Liquidity line displays debit '$ 100.00'",
|
|
trigger:
|
|
"div[name='line_ids'] table.o_list_table tr.o_bank_rec_liquidity_line td[field='debit']:contains('$ 100.00')",
|
|
},
|
|
{
|
|
trigger: ".o_switch_view.o_kanban.active",
|
|
},
|
|
{
|
|
content: "Switch to list view",
|
|
trigger: ".o_switch_view.o_list",
|
|
run: "click",
|
|
},
|
|
{
|
|
content: "Click amount field of 'line2'; Selects the row",
|
|
trigger: "table.o_list_table tr.o_data_row:contains('line2') td[name='amount']",
|
|
run: "click",
|
|
},
|
|
{
|
|
content: "Set balance of 'line2' (selected row) to 500.00",
|
|
trigger: "table.o_list_table tr.o_data_row.o_selected_row td[name='amount'] input",
|
|
run: "edit 500.00 && click body",
|
|
},
|
|
{
|
|
trigger: ".o_switch_view.o_list.active",
|
|
},
|
|
{
|
|
content: "Switch back to kanban",
|
|
trigger: ".o_switch_view.o_kanban",
|
|
run: "click",
|
|
},
|
|
{
|
|
content: "'line2' is still selected",
|
|
trigger: ".o_bank_rec_st_line:contains('line2')",
|
|
},
|
|
{
|
|
content: "Liquidity line displays debit '$ 500.00'",
|
|
trigger:
|
|
"div[name='line_ids'] table.o_list_table tr.o_bank_rec_liquidity_line td[field='debit']:contains('$ 500.00')",
|
|
},
|
|
{
|
|
content:
|
|
"'INV/2019/00001' has been selected as matching existing entry by matching rules",
|
|
trigger:
|
|
"div.bank_rec_widget_form_amls_list_anchor table.o_list_table tr.o_rec_widget_list_selected_item td[name='name']:contains('INV/2019/00001')",
|
|
},
|
|
// End
|
|
...stepUtils.toggleHomeMenu(),
|
|
...accountTourSteps.goToAccountMenu("Reset back to accounting module"),
|
|
{
|
|
content: "check that we're back on the dashboard",
|
|
trigger: 'a:contains("Customer Invoices")',
|
|
},
|
|
],
|
|
});
|
|
|
|
registry.category("web_tour.tours").add('fusion_accounting_bank_rec_widget_reconciliation_button',
|
|
{
|
|
url: '/odoo',
|
|
steps: () => [
|
|
stepUtils.showAppsMenuItem(),
|
|
...accountTourSteps.goToAccountMenu("Open the accounting module"),
|
|
{
|
|
content: "Open the bank reconciliation widget",
|
|
trigger: "button.btn-secondary[name='action_open_reconcile']",
|
|
run: "click",
|
|
},
|
|
{
|
|
content: "Remove suggested line, if present",
|
|
trigger: ".o_list_record_remove",
|
|
run() {
|
|
const button = document.querySelector('.fa-trash-o');
|
|
if(button) {
|
|
button.click();
|
|
}
|
|
}
|
|
},
|
|
{
|
|
content: "Wait for deletion",
|
|
trigger: ".o_data_row:contains('Open balance')",
|
|
},
|
|
{
|
|
content: "Select reconciliation model creating a new move",
|
|
trigger: ".recon_model_button:contains('test reconcile')",
|
|
run: "click",
|
|
},
|
|
{
|
|
content: "Confirm move created through reconciliation model writeoff button",
|
|
trigger: "button[name=action_post]",
|
|
run: "click",
|
|
},
|
|
{
|
|
trigger: ".o_breadcrumb",
|
|
},
|
|
{
|
|
content: "Breadcrumb back to Bank Reconciliation from created move",
|
|
trigger: ".breadcrumb-item:contains('Bank Reconciliation')",
|
|
run: "click",
|
|
},
|
|
{
|
|
content: "Validate created move added as a line in reco widget",
|
|
trigger: "button:contains('Validate')",
|
|
run: "click",
|
|
},
|
|
// End
|
|
...stepUtils.toggleHomeMenu(),
|
|
...accountTourSteps.goToAccountMenu("Reset back to accounting module"),
|
|
{
|
|
content: "check that we're back on the dashboard",
|
|
trigger: 'a:contains("Customer Invoices")',
|
|
},
|
|
],
|
|
});
|