diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/point_of_sale/static/tests/tours/Chrome.tour.js | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/point_of_sale/static/tests/tours/Chrome.tour.js')
| -rw-r--r-- | addons/point_of_sale/static/tests/tours/Chrome.tour.js | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/addons/point_of_sale/static/tests/tours/Chrome.tour.js b/addons/point_of_sale/static/tests/tours/Chrome.tour.js new file mode 100644 index 00000000..a1c992de --- /dev/null +++ b/addons/point_of_sale/static/tests/tours/Chrome.tour.js @@ -0,0 +1,103 @@ +odoo.define('point_of_sale.tour.Chrome', function (require) { + 'use strict'; + + const { ProductScreen } = require('point_of_sale.tour.ProductScreenTourMethods'); + const { ReceiptScreen } = require('point_of_sale.tour.ReceiptScreenTourMethods'); + const { PaymentScreen } = require('point_of_sale.tour.PaymentScreenTourMethods'); + const { TicketScreen } = require('point_of_sale.tour.TicketScreenTourMethods'); + const { Chrome } = require('point_of_sale.tour.ChromeTourMethods'); + const { getSteps, startSteps } = require('point_of_sale.tour.utils'); + var Tour = require('web_tour.tour'); + + startSteps(); + + // Order 1 is at Product Screen + ProductScreen.do.clickHomeCategory(); + ProductScreen.exec.addOrderline('Desk Pad', '1', '2', '2.0'); + Chrome.do.clickTicketButton(); + TicketScreen.check.checkStatus('-0001', 'Ongoing'); + + // Order 2 is at Payment Screen + TicketScreen.do.clickNewTicket(); + ProductScreen.exec.addOrderline('Monitor Stand', '3', '4', '12.0'); + ProductScreen.do.clickPayButton(); + PaymentScreen.check.isShown(); + Chrome.do.clickTicketButton(); + TicketScreen.check.checkStatus('-0002', 'Payment'); + + // Order 3 is at Receipt Screen + TicketScreen.do.clickNewTicket(); + ProductScreen.exec.addOrderline('Whiteboard Pen', '5', '6', '30.0'); + ProductScreen.do.clickPayButton(); + PaymentScreen.do.clickPaymentMethod('Bank'); + PaymentScreen.check.remainingIs('0.0'); + PaymentScreen.check.validateButtonIsHighlighted(true); + PaymentScreen.do.clickValidate(); + ReceiptScreen.check.isShown(); + Chrome.do.clickTicketButton(); + TicketScreen.check.checkStatus('-0003', 'Receipt'); + + // Select order 1, should be at Product Screen + TicketScreen.do.selectOrder('-0001'); + ProductScreen.check.productIsDisplayed('Desk Pad'); + ProductScreen.check.selectedOrderlineHas('Desk Pad', '1.0', '2.0'); + + // Select order 2, should be at Payment Screen + Chrome.do.clickTicketButton(); + TicketScreen.do.selectOrder('-0002'); + PaymentScreen.check.emptyPaymentlines('12.0'); + PaymentScreen.check.validateButtonIsHighlighted(false); + + // Select order 3, should be at Receipt Screen + Chrome.do.clickTicketButton(); + TicketScreen.do.selectOrder('-0003'); + ReceiptScreen.check.totalAmountContains('30.0'); + + // Pay order 1, with change + Chrome.do.clickTicketButton(); + TicketScreen.do.selectOrder('-0001'); + ProductScreen.do.clickPayButton(); + PaymentScreen.do.clickPaymentMethod('Cash'); + PaymentScreen.do.pressNumpad('2 0'); + PaymentScreen.check.remainingIs('0.0'); + PaymentScreen.check.validateButtonIsHighlighted(true); + PaymentScreen.do.clickValidate(); + ReceiptScreen.check.totalAmountContains('2.0'); + + // Order 1 now should have Receipt status + Chrome.do.clickTicketButton(); + TicketScreen.check.checkStatus('-0001', 'Receipt'); + + // Select order 3, should still be at Receipt Screen + // and the total amount doesn't change. + TicketScreen.do.selectOrder('-0003'); + ReceiptScreen.check.totalAmountContains('30.0'); + + // click next screen on order 3 + // then delete the new empty order + ReceiptScreen.do.clickNextOrder(); + ProductScreen.check.orderIsEmpty(); + Chrome.do.clickTicketButton(); + TicketScreen.do.deleteOrder('-0004'); + TicketScreen.do.deleteOrder('-0001'); + + // After deleting order 1 above, order 2 became + // the 2nd-row order and it has payment status + TicketScreen.check.nthRowContains(2, 'Payment') + TicketScreen.do.deleteOrder('-0002'); + Chrome.do.confirmPopup(); + TicketScreen.do.clickNewTicket(); + + // Invoice an order + ProductScreen.exec.addOrderline('Whiteboard Pen', '5', '6'); + ProductScreen.do.clickCustomerButton(); + ProductScreen.do.clickCustomer('Nicole Ford'); + ProductScreen.do.clickSetCustomer(); + ProductScreen.do.clickPayButton(); + PaymentScreen.do.clickPaymentMethod('Bank'); + PaymentScreen.do.clickInvoiceButton(); + PaymentScreen.do.clickValidate(); + ReceiptScreen.check.isShown(); + + Tour.register('ChromeTour', { test: true, url: '/pos/ui' }, getSteps()); +}); |
