202 lines
7.7 KiB
JavaScript
202 lines
7.7 KiB
JavaScript
odoo.define('pos_sale.tour', function (require) {
|
|
'use strict';
|
|
|
|
const { Chrome } = require('point_of_sale.tour.ChromeTourMethods');
|
|
const { PaymentScreen } = require('point_of_sale.tour.PaymentScreenTourMethods');
|
|
const { ProductScreen } = require('pos_sale.tour.ProductScreenTourMethods');
|
|
const { ReceiptScreen } = require('pos_sale.tour.ReceiptScreenTourMethods');
|
|
const { TicketScreen } = require('point_of_sale.tour.TicketScreenTourMethods');
|
|
const { getSteps, startSteps } = require('point_of_sale.tour.utils');
|
|
const Tour = require('web_tour.tour');
|
|
|
|
// signal to start generating steps
|
|
// when finished, steps can be taken from getSteps
|
|
startSteps();
|
|
|
|
ProductScreen.do.confirmOpeningPopup();
|
|
ProductScreen.do.clickQuotationButton();
|
|
ProductScreen.do.selectFirstOrder();
|
|
ProductScreen.check.selectedOrderlineHas('Pizza Chicken', 9);
|
|
ProductScreen.do.pressNumpad('Qty 2'); // Change the quantity of the product to 2
|
|
ProductScreen.check.selectedOrderlineHas('Pizza Chicken', 2);
|
|
ProductScreen.do.clickPayButton();
|
|
PaymentScreen.do.clickPaymentMethod('Bank');
|
|
PaymentScreen.do.clickValidate();
|
|
Chrome.do.clickTicketButton();
|
|
|
|
Tour.register('PosSettleOrder', { test: true, url: '/pos/ui' }, getSteps());
|
|
|
|
startSteps();
|
|
|
|
ProductScreen.do.confirmOpeningPopup();
|
|
ProductScreen.do.clickQuotationButton();
|
|
// The second item in the list is the first sale.order.
|
|
ProductScreen.do.selectNthOrder(2);
|
|
ProductScreen.check.selectedOrderlineHas('product1', 1);
|
|
ProductScreen.check.totalAmountIs("10.00");
|
|
|
|
ProductScreen.do.clickQuotationButton();
|
|
// The first item in the list is the second sale.order.
|
|
// Selecting the 2nd sale.order should use a new order,
|
|
// therefore, the total amount will change.
|
|
ProductScreen.do.selectNthOrder(1);
|
|
ProductScreen.check.selectedOrderlineHas('product2', 1);
|
|
ProductScreen.check.totalAmountIs("11.00");
|
|
|
|
Tour.register('PosSettleOrderIncompatiblePartner', { test: true, url: '/pos/ui' }, getSteps());
|
|
|
|
startSteps();
|
|
|
|
ProductScreen.do.confirmOpeningPopup();
|
|
ProductScreen.do.clickQuotationButton();
|
|
ProductScreen.do.selectFirstOrder();
|
|
ProductScreen.do.clickOrderline('[A001] Product A', '1');
|
|
ProductScreen.check.selectedOrderlineHas('[A001] Product A', '1.00');
|
|
ProductScreen.do.clickOrderline('[A002] Product B', '1');
|
|
ProductScreen.do.pressNumpad('Qty 0');
|
|
ProductScreen.check.selectedOrderlineHas('[A002] Product B', '0.00');
|
|
ProductScreen.do.clickPayButton();
|
|
PaymentScreen.do.clickPaymentMethod('Bank');
|
|
PaymentScreen.check.remainingIs('0.0');
|
|
PaymentScreen.do.clickValidate();
|
|
ReceiptScreen.check.isShown();
|
|
|
|
Tour.register('PosSettleOrder2', { test: true, url: '/pos/ui' }, getSteps());
|
|
|
|
startSteps();
|
|
|
|
ProductScreen.do.confirmOpeningPopup();
|
|
ProductScreen.do.clickQuotationButton();
|
|
ProductScreen.do.selectFirstOrder();
|
|
ProductScreen.do.clickOrderline("Product A", "1");
|
|
ProductScreen.check.selectedOrderlineHas('Product A', '1.00');
|
|
ProductScreen.do.clickPayButton();
|
|
PaymentScreen.do.clickPaymentMethod('Bank');
|
|
PaymentScreen.check.remainingIs('0.0');
|
|
PaymentScreen.do.clickValidate();
|
|
ReceiptScreen.check.isShown();
|
|
|
|
Tour.register('PosSettleOrder3', { test: true, url: '/pos/ui' }, getSteps());
|
|
|
|
startSteps();
|
|
|
|
ProductScreen.do.confirmOpeningPopup();
|
|
ProductScreen.do.clickQuotationButton();
|
|
ProductScreen.do.selectFirstOrder();
|
|
ProductScreen.check.totalAmountIs(40);
|
|
ProductScreen.do.clickPayButton();
|
|
PaymentScreen.do.clickPaymentMethod('Bank');
|
|
PaymentScreen.do.clickValidate();
|
|
Chrome.do.clickTicketButton();
|
|
|
|
Tour.register('PosSettleOrderRealTime', { test: true, url: '/pos/ui' }, getSteps());
|
|
|
|
startSteps();
|
|
|
|
ProductScreen.do.clickQuotationButton();
|
|
ProductScreen.do.downPaymentFirstOrder();
|
|
ProductScreen.do.clickPayButton();
|
|
PaymentScreen.do.clickPaymentMethod('Cash');
|
|
PaymentScreen.do.clickValidate();
|
|
ReceiptScreen.do.clickNextOrder();
|
|
ProductScreen.do.clickRefund();
|
|
// Filter should be automatically 'Paid'.
|
|
TicketScreen.check.filterIs('Paid');
|
|
TicketScreen.do.selectOrder('-0001');
|
|
TicketScreen.do.clickOrderline('Down Payment');
|
|
TicketScreen.do.pressNumpad('1');
|
|
TicketScreen.do.confirmRefund();
|
|
ProductScreen.do.clickPayButton();
|
|
PaymentScreen.do.clickPaymentMethod('Cash');
|
|
PaymentScreen.do.clickValidate();
|
|
ReceiptScreen.do.clickNextOrder();
|
|
|
|
Tour.register('PosRefundDownpayment', { test: true, url: '/pos/ui' }, getSteps());
|
|
|
|
startSteps();
|
|
|
|
ProductScreen.do.confirmOpeningPopup();
|
|
ProductScreen.do.clickQuotationButton();
|
|
ProductScreen.do.selectFirstOrder();
|
|
ProductScreen.check.totalAmountIs(28.98); // 3.5 * 8 * 1.15 * 90%
|
|
ProductScreen.do.clickOrderline("Product A", '0.5');
|
|
ProductScreen.check.checkOrderlinesNumber(4);
|
|
ProductScreen.check.selectedOrderlineHas('Product A', '0.5', '4.14');
|
|
|
|
Tour.register('PosSettleOrderNotGroupable', { test: true, url: '/pos/ui' }, getSteps());
|
|
|
|
startSteps();
|
|
|
|
ProductScreen.do.clickQuotationButton();
|
|
ProductScreen.do.selectFirstOrder();
|
|
ProductScreen.check.checkCustomerNotes("Customer note 2--Customer note 3");
|
|
ProductScreen.do.clickPayButton();
|
|
PaymentScreen.do.clickPaymentMethod('Bank');
|
|
PaymentScreen.do.clickValidate();
|
|
ReceiptScreen.check.checkCustomerNotes("Customer note 2--Customer note 3");
|
|
ReceiptScreen.do.clickNextOrder();
|
|
|
|
Tour.register('PosSettleOrderWithNote', { test: true, url: '/pos/ui' }, getSteps());
|
|
|
|
startSteps();
|
|
|
|
ProductScreen.do.clickQuotationButton();
|
|
ProductScreen.do.selectFirstOrder();
|
|
ProductScreen.do.clickPayButton();
|
|
PaymentScreen.do.clickPaymentMethod('Bank');
|
|
PaymentScreen.do.clickValidate();
|
|
ReceiptScreen.do.clickNextOrder();
|
|
ProductScreen.do.clickQuotationButton();
|
|
ProductScreen.check.checkOrdersListEmpty();
|
|
|
|
Tour.register('PosOrderDoesNotRemainInList', { test: true, url: '/pos/ui' }, getSteps());
|
|
|
|
startSteps();
|
|
|
|
ProductScreen.do.confirmOpeningPopup();
|
|
ProductScreen.do.clickQuotationButton();
|
|
ProductScreen.do.selectFirstOrder();
|
|
ProductScreen.check.selectedOrderlineHas('product_a', '1', '100');
|
|
ProductScreen.do.clickPartnerButton();
|
|
ProductScreen.do.clickCustomer('partner_a');
|
|
ProductScreen.check.selectedOrderlineHas('product_a', '1', '100');
|
|
|
|
Tour.register('PosSettleCustomPrice', { test: true, url: '/pos/ui' }, getSteps());
|
|
|
|
startSteps();
|
|
|
|
ProductScreen.do.confirmOpeningPopup();
|
|
ProductScreen.do.clickQuotationButton();
|
|
ProductScreen.do.selectFirstOrder();
|
|
ProductScreen.check.selectedOrderlineHas('Test service product', '1.00', '50.00');
|
|
|
|
Tour.register('PosSettleDraftOrder', { test: true, url: '/pos/ui' }, getSteps());
|
|
|
|
startSteps();
|
|
|
|
ProductScreen.do.confirmOpeningPopup();
|
|
ProductScreen.do.clickQuotationButton();
|
|
ProductScreen.do.selectFirstOrder();
|
|
ProductScreen.do.clickPayButton();
|
|
PaymentScreen.do.clickShipLaterButton()
|
|
PaymentScreen.do.clickPaymentMethod('Bank');
|
|
PaymentScreen.check.remainingIs('0.0');
|
|
PaymentScreen.do.clickValidate();
|
|
ReceiptScreen.check.isShown();
|
|
|
|
Tour.register('PosSettleOrderShipLater', { test: true, url: '/pos/ui' }, getSteps());
|
|
|
|
startSteps();
|
|
|
|
ProductScreen.do.confirmOpeningPopup();
|
|
ProductScreen.do.clickQuotationButton();
|
|
ProductScreen.do.downPaymentFirstOrder();
|
|
ProductScreen.check.selectedOrderlineHas('Down Payment', '1', '10.00');
|
|
ProductScreen.do.clickPayButton();
|
|
PaymentScreen.do.clickPaymentMethod('Cash');
|
|
PaymentScreen.do.clickValidate();
|
|
ReceiptScreen.do.clickNextOrder();
|
|
|
|
Tour.register('PoSDownPaymentAmount', { test: true, url: '/pos/ui' }, getSteps());
|
|
});
|