Odoo18-Base/addons/hr_expense/static/tests/tours/expense_upload_tours.js
2025-01-06 10:57:38 +07:00

158 lines
5.5 KiB
JavaScript

/** @odoo-module **/
import { registry } from "@web/core/registry";
import { stepUtils } from "@web_tour/tour_service/tour_utils";
registry.category("web_tour.tours").add('hr_expense_test_tour', {
url: "/odoo",
steps: () => [stepUtils.showAppsMenuItem(),
{
content: "Go to Expense",
trigger: '.o_app[data-menu-xmlid="hr_expense.menu_hr_expense_root"]',
run: "click",
},
{
content: "Go to My Expenses",
trigger: 'button[data-menu-xmlid="hr_expense.menu_hr_expense_my_expenses"]',
run: "click",
},
{
content: "Go to My Expenses to Report",
trigger: 'a[data-menu-xmlid="hr_expense.menu_hr_expense_my_expenses_all"]',
run: "click",
},
{
content: "Check Upload Button",
trigger: '.o_button_upload_expense',
run() {
const button = document.querySelector('.o_button_upload_expense');
if(!button) {
console.error('Missing Upload button in My Expenses to Report > List View');
}
}
},
{
content: "Create a new expense",
trigger: "button.o_list_button_add",
run: "click",
},
{
content: "Enter category for new expense in Many2One field",
trigger: ".o_field_widget.o_field_many2one[name=product_id] input",
run: "edit [COMM] Communication",
},
{
isActive: ["auto"],
trigger: ".ui-autocomplete > li > a:contains('[COMM] Communication')",
run: "click",
},
{
content: "Enter a value for the total",
trigger: "div[name=total_amount_currency] input",
run: "edit 100",
},
{
content: "Breadcrumb back to My Expenses",
trigger: ".breadcrumb-item:contains('My Expenses')",
run: "click",
},
{
content: "Check Create Report Button, but not click on it",
trigger: "button.o_switch_view.o_list.active",
run() {
const button = Array.from(document.querySelectorAll('.btn-secondary'))
.filter(element => element.textContent.includes('Create Report'));
if(!button) {
console.error('Missing Create Report button in My Expenses to Report > List View');
}
}
},
{
content: "Go to kanban view",
trigger: "button.o_switch_view.o_kanban",
run: "click",
},
{
content: "Check Upload Button",
trigger: "button.o_switch_view.o_kanban.active",
run() {
const button = document.querySelector('.o_button_upload_expense');
if(!button) {
console.error('Missing Upload button in My Expenses to Report > Kanban View');
}
}
},
{
content: "Check Create Report button and click on it",
trigger: ".btn-secondary:contains(\"Create Report\")",
run: "click"
},
{
trigger: ".o_breadcrumb",
run: "click",
},
{
content: "Create Report button should not be visible anymore",
trigger: '.o_control_panel_main:not(:contains(\"Create Report\"))',
},
{
content: "Go to Reporting",
trigger: 'button[data-menu-xmlid="hr_expense.menu_hr_expense_reports"]',
run: "click",
},
{
content: "Go to Expenses Analysis",
trigger: 'a[data-menu-xmlid="hr_expense.menu_hr_expense_all_expenses"]',
run: "click",
},
{
content: "Go to list view",
trigger: "button.o_switch_view.o_list",
run: "click",
},
{
content: "Check Upload Button",
trigger: "button.o_switch_view.o_list.active",
run() {
const button = document.querySelector('.o_button_upload_expense');
if(!button) {
console.error('Missing Upload button in Expenses Analysis > List View');
}
}
},
]});
registry.category("web_tour.tours").add('hr_expense_access_rights_test_tour', {
url: "/odoo",
steps: () => [stepUtils.showAppsMenuItem(),
{
content: "Go to Expense",
trigger: '.o_app[data-menu-xmlid="hr_expense.menu_hr_expense_root"]',
run: "click",
},
{
content: "Go to My Expenses",
trigger: 'button[data-menu-xmlid="hr_expense.menu_hr_expense_my_expenses"]',
run: "click",
},
{
content: "Go to My Reports",
trigger: 'a[data-menu-xmlid="hr_expense.menu_hr_expense_sheet_my_reports"]',
run: "click",
},
{
content: "Go to First Expense for employee",
trigger: 'td[data-tooltip="First Expense for employee"]',
run: "click",
},
{
content: "Click Submit to Manager Button",
trigger: '.o_expense_sheet_submit',
run: "click",
},
{
content: 'Verify the expene sheet is submitted',
trigger: '.o_arrow_button_current:contains("Submitted")',
},
]});