1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
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());
});
|