summaryrefslogtreecommitdiff
path: root/addons/pos_restaurant/static/tests/tours/TicketScreen.tour.js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/pos_restaurant/static/tests/tours/TicketScreen.tour.js')
-rw-r--r--addons/pos_restaurant/static/tests/tours/TicketScreen.tour.js61
1 files changed, 61 insertions, 0 deletions
diff --git a/addons/pos_restaurant/static/tests/tours/TicketScreen.tour.js b/addons/pos_restaurant/static/tests/tours/TicketScreen.tour.js
new file mode 100644
index 00000000..278bbfc5
--- /dev/null
+++ b/addons/pos_restaurant/static/tests/tours/TicketScreen.tour.js
@@ -0,0 +1,61 @@
+odoo.define('pos_restaurant.tour.TicketScreen', function (require) {
+ 'use strict';
+
+ const { ProductScreen } = require('point_of_sale.tour.ProductScreenTourMethods');
+ const { FloorScreen } = require('pos_restaurant.tour.FloorScreenTourMethods');
+ const { TicketScreen } = require('point_of_sale.tour.TicketScreenTourMethods');
+ const { Chrome } = require('pos_restaurant.tour.ChromeTourMethods');
+ const { getSteps, startSteps } = require('point_of_sale.tour.utils');
+ var Tour = require('web_tour.tour');
+
+ startSteps();
+
+ // New Ticket button should not be in the ticket screen if no table is selected.
+ Chrome.do.clickTicketButton();
+ TicketScreen.check.noNewTicketButton();
+ TicketScreen.do.clickDiscard();
+
+ // Deleting the last order in the table brings back to floorscreen
+ FloorScreen.do.clickTable('T4');
+ ProductScreen.check.isShown();
+ Chrome.do.clickTicketButton();
+ TicketScreen.check.nthRowContains(2, '-0001');
+ TicketScreen.do.deleteOrder('-0001');
+ FloorScreen.check.isShown();
+
+ // Create 2 items in a table. From floorscreen, delete 1 item. Then select the other item.
+ // Correct order and screen should be displayed and the BackToFloorButton is shown.
+ FloorScreen.do.clickTable('T2');
+ ProductScreen.exec.addOrderline('Minute Maid', '1', '2');
+ ProductScreen.check.totalAmountIs('2.0');
+ Chrome.do.clickTicketButton();
+ TicketScreen.do.clickNewTicket();
+ ProductScreen.exec.addOrderline('Coca-Cola', '2', '2');
+ ProductScreen.check.totalAmountIs('4.0');
+ Chrome.do.backToFloor();
+ FloorScreen.check.orderCountSyncedInTableIs('T2', '2');
+ Chrome.do.clickTicketButton();
+ TicketScreen.do.deleteOrder('-0003');
+ Chrome.do.confirmPopup();
+ TicketScreen.do.selectOrder('-0002');
+ ProductScreen.check.totalAmountIs('2.0');
+ Chrome.check.backToFloorTextIs('Main Floor', 'T2');
+ Chrome.do.backToFloor();
+
+ // Make sure that order is deleted properly.
+ FloorScreen.do.clickTable('T5');
+ ProductScreen.exec.addOrderline('Minute Maid', '1', '3');
+ ProductScreen.check.totalAmountIs('3.0');
+ Chrome.do.backToFloor();
+ FloorScreen.check.orderCountSyncedInTableIs('T5', '1');
+ Chrome.do.clickTicketButton();
+ TicketScreen.do.deleteOrder('-0004');
+ Chrome.do.confirmPopup();
+ TicketScreen.do.clickDiscard();
+ FloorScreen.check.isShown();
+ FloorScreen.check.orderCountSyncedInTableIs('T5', '0');
+ FloorScreen.do.clickTable('T5');
+ ProductScreen.check.orderIsEmpty();
+
+ Tour.register('PosResTicketScreenTour', { test: true, url: '/pos/ui' }, getSteps());
+});