# HG changeset patch
# User Ranjith S R <ranjith@qualiantech.com>
# Date 1451378791 -19800
# Node ID f414c7bc595c113769589a443444a2ca9a2fc72c
# Parent  d45c402031ce1384b22e9aa2a0c170502a7cea35
Verifies issue 31600: Added automated test 'I31600_VerfiyPaidOnCredit'

diff --git a/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/system/I31600_VerfiyPaidOnCredit.java b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/system/I31600_VerfiyPaidOnCredit.java
--- a/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/system/I31600_VerfiyPaidOnCredit.java
+++ b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/system/I31600_VerfiyPaidOnCredit.java
@@ -58,21 +58,23 @@
       // Update Terminal with Database Changes
       updateTerminalAfterDatabaseChange();
 
-      // Verify Paid on Credit
+      // Check PAID (On Credit) with Receipt
       // Add Product
       tap(TestId.BUTTON_BROWSE);
-      tap(TestId.BUTTON_CATEGORY_LIGHTINGANDELECTRONICS);
-      tap(TestId.BUTTON_PRODUCT_LIGHTINGANDELECTRONICS_MINILINTERN);
-      verify(TestId.LABEL_TOTALTOPAY, "2.78");
+      tap(TestId.BUTTON_CATEGORY_MOUNTAINEERING);
+      tap(TestId.BUTTON_PRODUCT_MOUNTAINEERING_MOUNTAINPACK);
+      verify(TestId.LABEL_TOTALTOPAY, "25.00");
 
       final String receiptNo = BackboneHelper.getDocumentNo();
 
       // Add Partial Payment by Cash
       tap(TestId.BUTTON_PAY);
       tap(TestId.BUTTON_PAYMENTSWITCH);
-      tap(TestId.BUTTON_KEYPAD_2);
+      tap(TestId.BUTTON_KEYPAD_1);
+      tap(TestId.BUTTON_KEYPAD_0);
       tap(TestId.BUTTON_KEYPAD_ENTER);
 
+      // Pay Remaining using credit
       tap(TestId.BUTTON_PAY_USECREDIT);
       isVisible(TestId.LABEL_PAY_USECREDIT_POPUP, true);
       verify(TestId.LABEL_PAY_USECREDIT_POPUP, "Credit will be used");
@@ -86,7 +88,7 @@
       write(TestId.FIELD_SEARCH_RECEIPT, receiptNo);
       tap(TestId.BUTTON_RECEIPTS_SEARCH);
       tap(TestId.BUTTON_RECEIPTS_ROW1);
-      verify(TestId.LABEL_TOTALTOPAY, "2.78");
+      verify(TestId.LABEL_TOTALTOPAY, "25.00");
       verify(TestId.LABEL_RECEIPT_TYPE, "PAID (On credit)");
 
       final boolean isPaidOncredit = (Boolean) SeleniumHelper
@@ -96,6 +98,47 @@
       // Delete the Receipt
       tap(TestId.BUTTON_DELETERECEIPT);
 
+      // Check PAID (On Credit) with Return Receipt
+      tap(TestId.BUTTON_MENU);
+      tap(TestId.BUTTON_MENU_RETURNTHISRECEIPT);
+      // Add Product
+      tap(TestId.BUTTON_BROWSE);
+      tap(TestId.BUTTON_CATEGORY_MOUNTAINEERING);
+      tap(TestId.BUTTON_PRODUCT_MOUNTAINEERING_MOUNTAINPACK);
+      verify(TestId.LABEL_TOTALTOPAY, "-25.00");
+
+      final String secondReceiptNo = BackboneHelper.getDocumentNo();
+
+      // Add Partial Payment by Cash
+      tap(TestId.BUTTON_PAY);
+      tap(TestId.BUTTON_PAYMENTSWITCH);
+      tap(TestId.BUTTON_KEYPAD_5);
+      tap(TestId.BUTTON_KEYPAD_ENTER);
+
+      // Pay Remaining using credit
+      tap(TestId.BUTTON_PAY_USECREDIT);
+      isVisible(TestId.LABEL_PAY_USECREDIT_POPUP, true);
+      verify(TestId.LABEL_PAY_USECREDIT_POPUP, "Credit will be used");
+      tap(TestId.BUTTON_PAY_USECREDIT_OK);
+
+      verify(TestId.LABEL_TOTALTOPAY, "0.00");
+
+      // Load last added return receipt
+      tap(TestId.BUTTON_MENU);
+      tap(TestId.BUTTON_MENU_RECEIPTS);
+      write(TestId.FIELD_SEARCH_RECEIPT, secondReceiptNo);
+      tap(TestId.BUTTON_RECEIPTS_SEARCH);
+      tap(TestId.BUTTON_RECEIPTS_ROW1);
+      verify(TestId.LABEL_TOTALTOPAY, "-25.00");
+      verify(TestId.LABEL_RECEIPT_TYPE, "PAID (On credit)");
+
+      final boolean paidOncredit = (Boolean) SeleniumHelper
+          .executeScriptWithReturn("OB.MobileApp.model.receipt.attributes.paidOnCredit");
+      assertThat(true, equalTo(paidOncredit));
+
+      // Delete the Receipt
+      tap(TestId.BUTTON_DELETERECEIPT);
+
       // Restore database changes
       restoreDatabaseChanges();
 
