# HG changeset patch
# User Ranjith S R <ranjith@qualiantech.com>
# Date 1451903349 -19800
# Node ID 23c93442f22fa469d7cb2265fa30a6a0f48d773d
# Parent  9867efef2493db37b2126cd812bbafcc722303a1
Verifies issue 31765: Added automated test 'I31765_CheckPayOpenTicket'

diff --git a/src-test/org/openbravo/test/mobile/common/selenium/javascript/TestId.java b/src-test/org/openbravo/test/mobile/common/selenium/javascript/TestId.java
--- a/src-test/org/openbravo/test/mobile/common/selenium/javascript/TestId.java
+++ b/src-test/org/openbravo/test/mobile/common/selenium/javascript/TestId.java
@@ -97,6 +97,7 @@
   TABLE_STOCK("table_scrollListStockDetailsClickable", EnyoKind.SCROLLABLETABLE, "identifier"), //
   TABLE_MULTIORDER("table_multiorderslistitemprinter", EnyoKind.SCROLLABLETABLE, "identifier"), //
   TABLE_ADVCUSTOMER("table_stBPAdvSearch", EnyoKind.SCROLLABLETABLE, "identifier"), //
+  TABLE_MULTIORDER_RECEIPT("table_listMultiOrderLines", EnyoKind.SCROLLABLETABLE, "identifier"), //
 
   // Models
   MODEL_DOCUMENTNO("payment_paymentTabContent"), //
diff --git a/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/system/I31765_CreateTicketInPayOpenTicket.java b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/system/I31765_CreateTicketInPayOpenTicket.java
new file mode 100644
--- /dev/null
+++ b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/system/I31765_CreateTicketInPayOpenTicket.java
@@ -0,0 +1,134 @@
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.0  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html
+ * Software distributed under the License  is  distributed  on  an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations
+ * under the License.
+ * The Original Code is Openbravo ERP.
+ * The Initial Developer of the Original Code is Openbravo S.L.U.
+ * All portions are Copyright (C) 2015 Openbravo S.L.U.
+ * All Rights Reserved.
+ * Contributor(s):
+ ************************************************************************
+ *
+ * @author RAN
+ *
+ */
+
+package org.openbravo.test.mobile.retail.pack.selenium.tests.system;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.equalTo;
+
+import org.junit.Test;
+import org.openbravo.test.mobile.common.selenium.javascript.BackboneHelper;
+import org.openbravo.test.mobile.common.selenium.javascript.TestId;
+import org.openbravo.test.mobile.common.selenium.terminals.WebPOSTerminalHelper;
+
+/**
+ * 
+ * Verify New Button, Delete Button access in Pay Open Ticket Window
+ */
+public class I31765_CreateTicketInPayOpenTicket extends WebPOSTerminalHelper {
+
+  @Test
+  public void test() {
+    final String lastReceiptNo = addLayaways();
+
+    // Open Same layaway again from Pay Open Ticket
+    {
+      tap(TestId.BUTTON_MENU);
+      tap(TestId.BUTTON_MENU_PAYOPENTICKETS);
+      tap(TestId.BUTTON_POPUP_OPENTICKETS_SEARCH);
+      tap(TestId.BUTTON_POPUP_OPENTICKETS_ROW1);
+      tap(TestId.BUTTON_POPUP_OPENTICKETS_ROW2);
+      tap(TestId.BUTTON_POPUP_OPENTICKETS_DONE);
+
+      tap(TestId.BUTTON_MENU);
+      tap(TestId.BUTTON_MENU_PAYOPENTICKETS);
+      tap(TestId.BUTTON_POPUP_OPENTICKETS_SEARCH);
+      tap(TestId.BUTTON_POPUP_OPENTICKETS_ROW1);
+      tap(TestId.BUTTON_POPUP_OPENTICKETS_ROW2);
+      tap(TestId.BUTTON_POPUP_OPENTICKETS_DONE);
+      TestId.TABLE_MULTIORDER_RECEIPT.enyoNode().waitUntilIsReady();
+
+      tap(TestId.BUTTON_DELETERECEIPT);
+
+      tap(TestId.BUTTON_DELETERECEIPT);
+      tap(TestId.BUTTON_DELETERECEIPT_CONFIRM);
+    }
+
+    // Create New Receipt when Pay Open Ticket is opened
+    {
+      tap(TestId.BUTTON_MENU);
+      tap(TestId.BUTTON_MENU_PAYOPENTICKETS);
+      tap(TestId.BUTTON_POPUP_OPENTICKETS_SEARCH);
+      tap(TestId.BUTTON_POPUP_OPENTICKETS_ROW1);
+      tap(TestId.BUTTON_POPUP_OPENTICKETS_ROW2);
+      tap(TestId.BUTTON_POPUP_OPENTICKETS_DONE);
+      TestId.TABLE_MULTIORDER_RECEIPT.enyoNode().waitUntilIsReady();
+
+      tap(TestId.BUTTON_NEWRECEIPT);
+      tap(TestId.BUTTON_BROWSE);
+      tap(TestId.BUTTON_CATEGORY_LIGHTINGANDELECTRONICS);
+      tap(TestId.BUTTON_PRODUCT_LIGHTINGANDELECTRONICS_MINILINTERN);
+      verify(TestId.LABEL_TOTALTOPAY, "2.78");
+      final String currentReceiptNo = BackboneHelper.getDocumentNo();
+
+      // Adding lastReceiptNo with 2
+      final String updatedLastReceiptNo = (lastReceiptNo.split("/")[0] + "/" + (String.format(
+          "%7s", (Integer.parseInt(lastReceiptNo.split("/")[1]) + 2)).replace(' ', '0')));
+      assertThat(updatedLastReceiptNo, equalTo(currentReceiptNo));
+
+      tap(TestId.BUTTON_DELETERECEIPT);
+      tap(TestId.BUTTON_DELETERECEIPT_CONFIRM);
+      tap(TestId.BUTTON_DELETERECEIPT);
+      tap(TestId.BUTTON_DELETERECEIPT_CONFIRM);
+    }
+
+    // Delete Pay Open Ticket
+    {
+      tap(TestId.BUTTON_MENU);
+      tap(TestId.BUTTON_MENU_PAYOPENTICKETS);
+      tap(TestId.BUTTON_POPUP_OPENTICKETS_SEARCH);
+      tap(TestId.BUTTON_POPUP_OPENTICKETS_ROW1);
+      tap(TestId.BUTTON_POPUP_OPENTICKETS_ROW2);
+      tap(TestId.BUTTON_POPUP_OPENTICKETS_DONE);
+
+      TestId.TABLE_MULTIORDER_RECEIPT.enyoNode().waitUntilIsReady();
+
+      tap(TestId.BUTTON_DELETERECEIPT);
+
+      tap(TestId.BUTTON_DELETERECEIPT);
+      tap(TestId.BUTTON_DELETERECEIPT_CONFIRM);
+    }
+  }
+
+  // Create Two Layaway
+  private String addLayaways() {
+    tap(TestId.BUTTON_MENU);
+    tap(TestId.BUTTON_MENU_LAYAWAYTHISRECEIPT);
+
+    tap(TestId.BUTTON_BROWSE);
+    tap(TestId.BUTTON_CATEGORY_LIGHTINGANDELECTRONICS);
+    tap(TestId.BUTTON_PRODUCT_LIGHTINGANDELECTRONICS_MINILINTERN);
+    verify(TestId.LABEL_TOTALTOPAY, "2.78");
+    tap(TestId.BUTTON_LAYAWAY);
+
+    tap(TestId.BUTTON_MENU);
+    tap(TestId.BUTTON_MENU_LAYAWAYTHISRECEIPT);
+    tap(TestId.BUTTON_BROWSE);
+    tap(TestId.BUTTON_CATEGORY_LIGHTINGANDELECTRONICS);
+    tap(TestId.BUTTON_PRODUCT_LIGHTINGANDELECTRONICS_MINILINTERN);
+    verify(TestId.LABEL_TOTALTOPAY, "2.78");
+    final String currentReceiptNo = BackboneHelper.getDocumentNo();
+    tap(TestId.BUTTON_LAYAWAY);
+
+    return currentReceiptNo;
+  }
+}
