# HG changeset patch
# User Ranjith S R <ranjith@qualiantech.com>
# Date 1522217526 -19800
#      Wed Mar 28 11:42:06 2018 +0530
# Node ID 19aa3ceab793e634929b284f0290ac6c3ea9d186
# Parent  00fd4150c2ef6a646b4054aae8b5d9d8efd8b8dd
Verifies issue 37812 : Added automated test 'I37812_VerifyAvailableCashOnReturn'

diff -r 00fd4150c2ef -r 19aa3ceab793 src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/receipts/I37812_VerifyAvailableCashOnReturn.java
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/receipts/I37812_VerifyAvailableCashOnReturn.java	Wed Mar 28 11:42:06 2018 +0530
@@ -0,0 +1,130 @@
+/*
+ *************************************************************************
+ * 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) 2018 Openbravo S.L.U.
+ * All Rights Reserved.
+ * Contributor(s):
+ ************************************************************************
+ *
+ * @author RAN
+ *
+ */
+package org.openbravo.test.mobile.retail.pack.selenium.tests.receipts;
+
+import org.junit.Test;
+import org.openbravo.test.mobile.retail.mobilecore.javascript.BackboneHelper;
+import org.openbravo.test.mobile.retail.pack.API.WebPOSAPI;
+import org.openbravo.test.mobile.retail.pack.selenium.TestIdPack;
+import org.openbravo.test.mobile.retail.pack.selenium.terminals.WebPOSTerminalHelper;
+
+public class I37812_VerifyAvailableCashOnReturn extends WebPOSTerminalHelper {
+
+  @Test
+  public void test() {
+    WebPOSAPI.cleanCashup(this);
+    final String customer = get(TestIdPack.BUTTON_RECEIPT_CUSTOMER);
+
+    // Create Receipt
+    tap(TestIdPack.BUTTON_SEARCH);
+    write(TestIdPack.FIELD_SEARCH_TEXT, TestIdPack.BUTTON_SEARCHPRODUCT_CAMPING.getRowName());
+    tap(TestIdPack.BUTTON_SEARCH_EXECUTE);
+    tap(TestIdPack.BUTTON_SEARCHPRODUCT_CAMPING);
+    verify(TestIdPack.LABEL_TOTALTOPAY, "385.00");
+    final String receiptNo = BackboneHelper.getDocumentNo();
+    tap(TestIdPack.BUTTON_PAY);
+    tap(TestIdPack.BUTTON_CASHUSA);
+    tap(TestIdPack.BUTTON_PAYMENTSWITCH);
+    tap(TestIdPack.BUTTON_KEYPAD_2);
+    tap(TestIdPack.BUTTON_KEYPAD_0);
+    tap(TestIdPack.BUTTON_KEYPAD_0);
+    tap(TestIdPack.BUTTON_KEYPAD_ENTER);
+    tap(TestIdPack.BUTTON_CASH);
+    tap(TestIdPack.BUTTON_PAY_EXACT);
+    tap(TestIdPack.BUTTON_PAY_DONE);
+    verify(TestIdPack.LABEL_TOTALTOPAY, "0.00");
+
+    // Verify Cash Available on return receipt
+    tap(TestIdPack.BUTTON_MENU);
+    tap(TestIdPack.BUTTON_MENU_VERIFIEDRETURN);
+    write(TestIdPack.FIELD_SEARCH_RECEIPT, receiptNo);
+    tap(TestIdPack.BUTTON_VERIFIEDRETURNS_SEARCH);
+    verify(TestIdPack.LABEL_VERIFIEDRETURNS_ROW1_TITLE,
+        String.format("%s - %s", receiptNo, customer));
+    tap(TestIdPack.BUTTON_VERIFIEDRETURNS_ROW1);
+    verify(TestIdPack.LABEL_POPUP_DOCUMENTNO, receiptNo);
+    tap(TestIdPack.BUTTON_VERIFIEDRETURNS_LINES_CHECKALL);
+    tap(TestIdPack.BUTTON_POPUP_APPLY);
+    tap(TestIdPack.BUTTON_PAY);
+    verify(TestIdPack.LABEL_RECEIPT_PAY_REMAINING, "385.00€");
+    isDisabled(TestIdPack.BUTTON_PAY_EXACT, true);
+    isVisible(TestIdPack.LABEL_RECEIPT_PAY_NOTENOUGHCASH, true);
+    tap(TestIdPack.BUTTON_CASHUSA);
+    verify(TestIdPack.LABEL_RECEIPT_PAY_REMAINING, "$506.03");
+    isDisabled(TestIdPack.BUTTON_PAY_EXACT, true);
+    isVisible(TestIdPack.LABEL_RECEIPT_PAY_NOTENOUGHCASH, true);
+    // Available USA Cash - 200
+    tap(TestIdPack.BUTTON_PAYMENTSWITCH);
+    tap(TestIdPack.BUTTON_KEYPAD_2);
+    tap(TestIdPack.BUTTON_KEYPAD_2);
+    tap(TestIdPack.BUTTON_KEYPAD_2);
+    tap(TestIdPack.BUTTON_KEYPAD_ENTER);
+    verify(TestIdPack.LABEL_RECEIPT_PAY_REMAINING, "$506.03");
+    tap(TestIdPack.BUTTON_KEYPAD_2);
+    tap(TestIdPack.BUTTON_KEYPAD_0);
+    tap(TestIdPack.BUTTON_KEYPAD_0);
+    tap(TestIdPack.BUTTON_KEYPAD_ENTER);
+    verify(TestIdPack.LABEL_RECEIPT_ADDEDPAYMENT_ROW1_NAME, "USA Cash");
+    verify(TestIdPack.LABEL_RECEIPT_PAY_REMAINING, "$306.04");
+    tap(TestIdPack.BUTTON_CASH);
+    isDisabled(TestIdPack.BUTTON_PAY_EXACT, false);
+    tap(TestIdPack.BUTTON_PAY_EXACT);
+    verify(TestIdPack.LABEL_RECEIPT_ADDEDPAYMENT_ROW1_NAME, "USA Cash");
+    verify(TestIdPack.LABEL_RECEIPT_ADDEDPAYMENT_ROW1_AMOUNT, "152.16");
+    verify(TestIdPack.LABEL_RECEIPT_ADDEDPAYMENT_ROW2_NAME, "Cash");
+    verify(TestIdPack.LABEL_RECEIPT_ADDEDPAYMENT_ROW2_AMOUNT, "232.84");
+
+    // Available Cash - 232.84
+    tap(TestIdPack.BUTTON_RECEIPT_PAYMENT_ROW2_REMOVE);
+    tap(TestIdPack.BUTTON_RECEIPT_PAYMENT_ROW1_REMOVE);
+    tap(TestIdPack.BUTTON_PAY);
+    verify(TestIdPack.LABEL_RECEIPT_PAY_REMAINING, "385.00€");
+    isDisabled(TestIdPack.BUTTON_PAY_EXACT, true);
+    tap(TestIdPack.BUTTON_PAYMENTSWITCH);
+    tap(TestIdPack.BUTTON_KEYPAD_2);
+    tap(TestIdPack.BUTTON_KEYPAD_3);
+    tap(TestIdPack.BUTTON_KEYPAD_3);
+    tap(TestIdPack.BUTTON_KEYPAD_ENTER);
+    verify(TestIdPack.LABEL_RECEIPT_PAY_REMAINING, "385.00€");
+    tap(TestIdPack.BUTTON_KEYPAD_2);
+    tap(TestIdPack.BUTTON_KEYPAD_3);
+    tap(TestIdPack.BUTTON_KEYPAD_2);
+    tap(TestIdPack.BUTTON_KEYPAD_DOT);
+    tap(TestIdPack.BUTTON_KEYPAD_8);
+    tap(TestIdPack.BUTTON_KEYPAD_4);
+    tap(TestIdPack.BUTTON_KEYPAD_ENTER);
+    verify(TestIdPack.LABEL_RECEIPT_PAY_REMAINING, "152.16€");
+    tap(TestIdPack.BUTTON_CASHUSA);
+    isDisabled(TestIdPack.BUTTON_PAY_EXACT, false);
+    tap(TestIdPack.BUTTON_PAYMENTSWITCH);
+    tap(TestIdPack.BUTTON_KEYPAD_2);
+    tap(TestIdPack.BUTTON_KEYPAD_0);
+    tap(TestIdPack.BUTTON_KEYPAD_0);
+    tap(TestIdPack.BUTTON_KEYPAD_ENTER);
+    verify(TestIdPack.LABEL_RECEIPT_ADDEDPAYMENT_ROW1_NAME, "Cash");
+    verify(TestIdPack.LABEL_RECEIPT_ADDEDPAYMENT_ROW1_AMOUNT, "232.84");
+    verify(TestIdPack.LABEL_RECEIPT_ADDEDPAYMENT_ROW2_NAME, "USA Cash");
+    verify(TestIdPack.LABEL_RECEIPT_ADDEDPAYMENT_ROW2_AMOUNT, "152.16");
+    tap(TestIdPack.BUTTON_PAY_DONE);
+    verify(TestIdPack.LABEL_TOTALTOPAY, "0.00");
+  }
+}
\ No newline at end of file
