Advertisement
Guest User

Untitled

a guest
Mar 9th, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.97 KB | None | 0 0
  1. import os
  2. import unittest
  3. import sys
  4. import xmlrunner
  5. sys.path.append(os.path.join(os.path.dirname(__file__), '../../..'))
  6. from lib import q2_library
  7. from pages.ngam import main_page, login_page
  8. from pages.ngam.commercial.payments import payments, payment_setup_page
  9. from pages.ngam.transactions import activity_center
  10.  
  11.  
  12. class AchPaymentApproveTest(unittest.TestCase):
  13. driver = None
  14. util = None
  15. trackingId = None
  16. authorizedBy = None
  17. ENV = 'CI'
  18. BROWSER = 'CHROME_MAC'
  19.  
  20. @classmethod
  21. def setUpClass(cls):
  22. cls.util = q2_library.Utilities()
  23. cls.util.load_config(cls)
  24. cls.input = cls.util.read_data_file('payments/ach_payment_data.dat')["achPaymentData"]
  25. cls.driver = cls.util.get_browser()
  26. cls.url = cls.util.get_config("base_url")
  27. cls.user = cls.util.get_credentials('payments1')
  28. cls.password = cls.util.get_credentials('passwordp1')
  29.  
  30. def test_01_navigation(self):
  31. self.driver.get(self.url)
  32. self.driver.maximize_window()
  33. self.assertIn("4", self.driver.title, "Checking the title has the correct value")
  34.  
  35. def test_02_login_successful(self):
  36. login = login_page.LoginPage(self.driver)
  37. login.enter_username(self.user)
  38. login.enter_password(self.password)
  39. self.main_page = login.click_submit_button()
  40. msg = self.main_page.validate_welcome_msg()
  41. self.assertIn('Welcome back', msg, "Login was successful")
  42.  
  43. def test_03_payments(self):
  44. self.menu = main_page.Menu(self.driver)
  45. self.menu.open_menu_item('Commercial')
  46. self.payment_page = self.menu.open_menu_child_item('Payments')
  47. self.payment_page.wait_for_page_to_load()
  48. self.assertTrue(self.payment_page.is_page_loaded(), "Checking that the Payments Page got loaded")
  49.  
  50.  
  51. def test_04_ach_payments(self):
  52. self.payment_page = payments.PaymentsPage(self.driver)
  53. self.payment_page.click_new_payment_drop_down()
  54. self.payment_page.click_new_payment_dropdown_val("ACH Payment")
  55. self.assertTrue(payment_setup_page.PaymentsSetupPage(self.driver).is_ach_rec_or_setup_wire_loaded(), "Checking that the Receipient & Amount tab got loaded")
  56.  
  57. def test_05_recipient_amount_tab(self):
  58. self.payment_setup_page = payment_setup_page.PaymentsSetupPage(self.driver)
  59. self.payment_setup_page.choose_recipient(self.input["type"], self.input["recipient"], 1, 1, 'List')
  60. self.payment_setup_page.wait_for_account_and_addendum_fields()
  61. self.payment_setup_page.enter_amount(self.input["type"], self.input["recipient"], self.input["amount"], 1,'List')
  62. self.payment_setup_page.enter_addendum(self.input["recipient"], self.input["addendum"], 'List')
  63. self.payment_setup_common_functions = payment_setup_page.PaymentsSetupCommonFunctions(self.driver)
  64. self.payment_setup_common_functions.click_next_button()
  65. self.assertTrue(self.payment_setup_page.is_ach_subsidiary_page_loaded(), "Checking that the Subsidiary tab got loaded")
  66.  
  67. def test_06_subsidiary_tab(self):
  68. self.payment_setup_page = payment_setup_page.PaymentsSetupPage(self.driver)
  69. self.payment_setup_page.choose_subsidiary(self.input["type"], self.input["subsidiary"], 1, 0, 'List')
  70. self.payment_setup_common_functions = payment_setup_page.PaymentsSetupCommonFunctions(self.driver)
  71. self.payment_setup_common_functions.click_next_button()
  72. self.assertTrue(self.payment_setup_page.is_ach_from_acc_page_loaded, "Checking that the Account tab got loaded")
  73.  
  74. def test_07_accounts_tab(self):
  75. self.payment_setup_page = payment_setup_page.PaymentsSetupPage(self.driver)
  76. self.payment_setup_page.choose_from_account(self.input["type"], self.input["account"])
  77. self.payment_setup_common_functions = payment_setup_page.PaymentsSetupCommonFunctions(self.driver)
  78. self.payment_setup_common_functions.click_next_button()
  79. self.assertTrue(self.payment_setup_page.is_ach_review_page_loaded(), "Checking that the Review & Submit tab got loaded")
  80.  
  81. def test_08_review_submit_tab(self):
  82. self.payment_setup_page = payment_setup_page.PaymentsSetupPage(self.driver)
  83. self.payment_setup_page.choose_date()
  84. isAchClassCodeCorrect = self.payment_setup_page.get_ach_class_code_in_overview(self.input["type"]) == self.input["ach_class_code_in_overview"]
  85. isTotalAmountCorrect = self.payment_setup_page.get_total_amt_in_overview(self.input["type"]) == self.input["total_amount_in_overview"]
  86. isSendPaymentAsCorrect = self.payment_setup_page.get_send_payment_as_str(self.input["type"]) == self.input["subsidiary"]
  87. isFromAccountCorrect = self.payment_setup_page.get_txt_frm_acc_overview(self.input["type"]) == self.input["from_acount_in_overview"]
  88. isRecipientCorrect = self.payment_setup_page.get_rec_display_name(self.input["type"]) == self.input["recipient"]
  89. self.assertTrue(isAchClassCodeCorrect and isTotalAmountCorrect and isSendPaymentAsCorrect and
  90. isFromAccountCorrect and isRecipientCorrect, "Checking that overview information is correct")
  91. self.payment_setup_page.page.screenshot()
  92.  
  93. def test_09_validate_modal(self):
  94. self.payment_setup_page = payment_setup_page.PaymentsSetupPage(self.driver)
  95. self.payment_setup_page.click_approve(self.input["type"])
  96. isTitleCorrect = self.payment_setup_page.get_modal_title(self.input["type"], self.input["modal_type"]) == self.input["modal_title"]
  97. isColorCorrect = self.payment_setup_page.get_modal_color(self.input["type"], self.input["modal_type"]) == self.input["modal_color"]
  98. isSubsidiaryCorrect = self.payment_setup_page.get_ach_approve_modal_data("From Subsidiary") == self.input["modal_from_subsidiary"]
  99. isAccountCorrect = self.payment_setup_page.get_ach_approve_modal_data("From Account") == self.input["modal_from_account"]
  100. isAmountCorrect = self.payment_setup_page.get_ach_approve_modal_data("Amount") == self.input["modal_amount"]
  101. isDateCorrect = self.payment_setup_page.get_selected_date() in self.payment_setup_page.get_ach_approve_modal_data("Date")
  102. global authorizedBy
  103. authorizedBy = payment_setup_page.PaymentsSetupCommonFunctions(self.driver).get_drafted_by()
  104. isDraftedByCorrect = authorizedBy in self.payment_setup_page.get_ach_approve_modal_data("Drafted By")
  105. global trackingId
  106. trackingId = self.payment_setup_page.get_ach_approve_modal_tracking_id()
  107. isTrackingIdValid = len(trackingId) > 0
  108. self.assertTrue(isColorCorrect and isTitleCorrect and isAmountCorrect and isAccountCorrect and
  109. isSubsidiaryCorrect and isDateCorrect and isDraftedByCorrect and isTrackingIdValid, "Checking that the modal information is correct")
  110. self.payment_setup_page.page.screenshot()
  111.  
  112. def test_10_go_to_activity_center(self):
  113. self.payment_setup_page = payment_setup_page.PaymentsSetupPage(self.driver)
  114. self.payment_setup_page.go_to_activity_center(self.input["type"], self.input["modal_type"])
  115. self.activity_center = activity_center.ActivityCenterPage(self.driver)
  116. self.activity_center.wait_for_page_to_load()
  117. self.assertTrue(self.activity_center.is_single_transactions_tab_loaded() and self.activity_center.is_row_expanded(1), "Checking that the Activity Center got loaded")
  118.  
  119. def test_11_validate_title_line_activity_center(self):
  120. global trackingId
  121. self.activity_center = activity_center.ActivityCenterPage(self.driver)
  122. isHeaderDateValid = len(self.activity_center.return_header_date()) > 0
  123. areHeaderApprovalsCorrect = self.activity_center.return_header_approvals() == self.input["header_approvals"]
  124. isHeaderStatusCorrect = self.activity_center.return_header_status() == self.input["header_status"]
  125. isTransactionTypeCorrect = self.activity_center.return_header_trans_type() == 'ACH Payment - Tracking ID: ' + trackingId
  126. isAccountCorrect = self.activity_center.return_header_account() == self.input["header_account"]
  127. isAmountCorrect = self.activity_center.return_header_amount() == '$' + self.input["amount"]
  128. self.assertTrue(isHeaderDateValid and areHeaderApprovalsCorrect and isHeaderStatusCorrect and
  129. isTransactionTypeCorrect and isAccountCorrect and isAmountCorrect,"Checking that the header fields are correct")
  130.  
  131. def test_12_validate_data_activity_center(self):
  132. global trackingId
  133. global authorizedBy
  134. self.activity_center = activity_center.ActivityCenterPage(self.driver)
  135. isTrackingIdCorrect = trackingId == self.activity_center.return_tracking_id
  136. isCreatedDateValid = len(self.activity_center.return_created_date()) > 0
  137. isCreatedByCorrect = self.activity_center.return_created_by() == authorizedBy
  138. isAuthDateValid = len(self.activity_center.return_auth_date()) > 0
  139. isProcessDateValid = len(self.activity_center.return_process_date()) > 0
  140. isAmountCorrect = self.activity_center.return_item_amount()
  141. isFromAccountCorrect = self.activity_center.return_item_from_account() == self.input["header_account"]
  142. isRecipientNameCorrect = self.activity_center.return_item_recipient_name() == self.input["recipient"]
  143. isRecipientAchNameCorrect = self.activity_center.return_item_recipient_ach_name() == self.input["recipient"]
  144. isRecipientAccountNumberCorrect = self.activity_center.return_item_rec_account_num() == self.input["recipient_account"]
  145. isAchClassCodeCorrect = self.activity_center.return_item_recipient_ach_class_code() == self.input["ach_class_code"]
  146. isAddendaCorrect = self.activity_center.return_item_rec_addenda() == self.input["ach_recipient_addenda"]
  147. isAchHeaderCorrect = self.activity_center.return_item_ach_header() == self.input["ach_header"]
  148. self.assertTrue(isTrackingIdCorrect and isCreatedDateValid and isCreatedByCorrect and isAmountCorrect and isAuthDateValid and isProcessDateValid and
  149. isFromAccountCorrect and isRecipientAccountNumberCorrect and isRecipientAchNameCorrect and isRecipientNameCorrect and
  150. isAchClassCodeCorrect and isAddendaCorrect and isAchHeaderCorrect,
  151. "Checking that the data from activity center is correct")
  152.  
  153.  
  154. def setUp(self):
  155. self.util.set_up(self)
  156.  
  157. def tearDown(self):
  158. self.util.tear_down(self)
  159.  
  160. @classmethod
  161. def tearDownClass(cls):
  162. cls.util.close_the_browser(cls.driver)
  163.  
  164. if __name__ == '__main__':
  165. if len(sys.argv) == 2:
  166. AchPaymentApproveTest.ENV = sys.argv.pop()
  167. if len(sys.argv) == 3:
  168. AchPaymentApproveTest.BROWSER = sys.argv.pop()
  169. AchPaymentApproveTest.ENV = sys.argv.pop()
  170. with open('test-reports/junit.xml', 'wb') as output:
  171. unittest.main(testRunner=xmlrunner.XMLTestRunner(output=output),
  172. failfast=False, buffer=False, catchbreak=False)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement