Advertisement
Guest User

Untitled

a guest
Mar 16th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.05 KB | None | 0 0
  1. import unit_tests.commercial.importer
  2. import os
  3. import unittest
  4. import sys
  5. import xmlrunner
  6. from lib import q2_library
  7. from pages.ngam import main_page, login_page
  8. from pages.ngam.commercial.payments import payments
  9. from pages.ngam.transactions import activity_center
  10. from pages.ngam.commercial.payments.payment_setup_flow import info_and_users_page, review_and_submit_page
  11. from lib import modal_page
  12. from pages.ngam.commercial.recipients import recipient_card_page, recipient_management_page, recipient_account_page
  13. from lib.base_page import Page
  14.  
  15.  
  16. class AchReceiptTemplateTest(unittest.TestCase, Page):
  17. driver = None
  18. util = None
  19. TRACKING_ID = None
  20. AUTHORIZED_BY = None
  21. ENV = 'CI'
  22. BROWSER = 'CHROME_MAC'
  23.  
  24. @classmethod
  25. def setUpClass(cls):
  26. cls.util = q2_library.Utilities()
  27. cls.util.load_config(cls)
  28. cls.input = cls.util.read_data_file('payments/payment_template_data.dat')["paymentDataSets"][1]
  29. cls.driver = cls.util.get_browser()
  30. cls.url = cls.util.get_config("base_url")
  31. cls.user = cls.util.get_credentials('autotreas')
  32. cls.password = cls.util.get_credentials('password')
  33. cls.current_page = None
  34.  
  35. def test_01_navigation(self):
  36. self.driver.get(self.url)
  37. self.driver.maximize_window()
  38. self.assertIn("4", self.driver.title, "Checking the title has the correct value")
  39.  
  40. def test_02_login_successful(self):
  41. main_page_obj = main_page.MainPage(self.driver)
  42. login = main_page.Page(self.driver)
  43. login.login(self.user, self.password)
  44. self.assertTrue(main_page_obj.is_page_loaded(), "Login was successful")
  45.  
  46. def test_03_payments(self):
  47. self.menu = main_page.Menu(self.driver)
  48. self.menu.open_menu_item('Commercial')
  49. self.recipients_page = self.menu.open_menu_child_item('Recipients')
  50. self.__class__.current_page = self.recipients_page
  51. self.recipients_page.wait_for_page_to_load()
  52. self.assertTrue(self.recipients_page.is_page_loaded(), "Checking that the Recipients Page got loaded")
  53.  
  54. def test_04_load_recipients_page(self):
  55. recipient_main_page = self.current_page
  56. self.recipient_card_page = recipient_main_page.click_add_recipient_button()
  57. self.__class__.current_page = self.recipient_card_page
  58. self.recipient_card_page.wait_for_page_to_load()
  59. self.assertTrue(self.recipient_card_page.is_page_loaded(), "Checking if the Recipients Page was loaded correctly")
  60.  
  61. def test_05_ach_wire_domestic_fill_recipient_details(self):
  62. recipient_card_page = self.current_page
  63. recipient_card_page.enter_display_name(self.input["recipient details"]["display name"])
  64. recipient_card_page.enter_ach_name(self.input["recipient details"]["ach name"])
  65. recipient_card_page.enter_wire_name(self.input["recipient details"]["wire name"])
  66. recipient_card_page.enter_ach_id(self.input["recipient details"]["ach id"])
  67. recipient_card_page.enter_email(self.input["recipient details"]["email"])
  68. recipient_card_page.click_send_email_notifications()
  69. recipient_card_page.enter_address1(self.input["recipient details"]["address1"])
  70. recipient_card_page.enter_address2(self.input["recipient details"]["address2"])
  71. recipient_card_page.enter_city(self.input["recipient details"]["city"])
  72. recipient_card_page.select_country(self.input["recipient details"]["country"])
  73. recipient_card_page.select_state(self.input["recipient details"]["state"])
  74. recipient_card_page.enter_zip(self.input["recipient details"]["zip"])
  75. recipient_account_page = recipient_card_page.click_next_button()
  76. self.__class__.current_page = recipient_account_page
  77. recipient_account_page.wait_for_page_to_load()
  78. self.assertTrue(recipient_account_page.is_page_loaded(), "Checking if the Recipient AccountPage was loaded correctly")
  79.  
  80. def test_06_ach_wire_domestic_account_details(self):
  81. recipient_account_page = self.current_page
  82. recipient_account_page.select_ach_and_wire()
  83. recipient_account_page.select_domestic()
  84. recipient_account_page.select_account_type(self.input["account details"]["account type"])
  85. recipient_account_page.enter_account_number(self.input["account details"]["account number"])
  86. recipient_account_page.enter_routing_number(self.input["account details"]["routing number"])
  87. recipient_account_page.enter_beneficiary_name(self.input["account details"]["beneficiary"]["beneficiary name"])
  88. recipient_account_page.enter_beneficiary_aba(self.input["account details"]["beneficiary"]["beneficiary iban"])
  89. recipient_account_page.enter_beneficiary_address1(self.input["account details"]["beneficiary"]["beneficiary address1"])
  90. recipient_account_page.enter_beneficiary_address2(self.input["account details"]["beneficiary"]["beneficiary address2"])
  91. recipient_account_page.enter_beneficiary_city(self.input["account details"]["beneficiary"]["beneficiary city"])
  92. recipient_account_page.select_beneficiary_state(self.input["account details"]["beneficiary"]["beneficiary state"])
  93. recipient_account_page.enter_beneficiary_zip(self.input["account details"]["beneficiary"]["beneficiary zip"])
  94. recipient_account_page.enter_intermediary_name(self.input["account details"]["intermediary"]["intermediary name"])
  95. recipient_account_page.enter_intermediary_aba(self.input["account details"]["intermediary"]["intermediary aba"])
  96. recipient_account_page.enter_intermediary_address1(self.input["account details"]["intermediary"]["intermediary address1"])
  97. recipient_account_page.enter_intermediary_address2(self.input["account details"]["intermediary"]["intermediary address2"])
  98. recipient_account_page.enter_intermediary_city(self.input["account details"]["intermediary"]["intermediary city"])
  99. recipient_account_page.select_intermediary_state(self.input["account details"]["intermediary"]["intermediary state"])
  100. recipient_account_page.enter_intermediary_zip(self.input["account details"]["intermediary"]["intermediary zip"])
  101. recipient_account_page.click_save_button_for_new_recipient()
  102. self.recipient_page = recipient_management_page.RecipientManagementPage(self.driver)
  103. self.recipient_page.wait_for_page_to_load()
  104. self.assertTrue(self.recipient_page.is_recipient_available(self.input["recipient details"]["display name"]),"Checking if the Recipient account details page is available")
  105.  
  106. def test_07_commercial_payments(self):
  107. self.menu = main_page.Menu(self.driver)
  108. self.menu.open_menu_item('Commercial')
  109. self.payment_page = self.menu.open_menu_child_item('Payments')
  110. self.__class__.current_page = self.payment_page
  111. self.payment_page.wait_for_page_to_load()
  112. self.assertTrue(self.payment_page.is_page_loaded(), "Checking that the Recipients Page got loaded")
  113.  
  114.  
  115. def test_08_load_ach_payments_page(self):
  116. payment_page = self.current_page
  117. payment_page.click_new_template_drop_down()
  118. payment_page.click_new_template_dropdown_val(self.input["templateData"]["template"])
  119. self.info_and_users_page = info_and_users_page.InfoUsersPage(self.driver, "ach")
  120. self.__class__.current_page = self.info_and_users_page
  121. self.info_and_users_page.wait_for_page_to_load()
  122. self.assertTrue(self.info_and_users_page.is_page_loaded(), "Checking that the Recipient & Amount tab got loaded")
  123.  
  124.  
  125. def test_09_fill_ach_template_Name(self):
  126. info_and_users_page = self.current_page
  127. info_and_users_page.fill_template_name(self.input["templateData"]["template name"])
  128. payments_setup_first_page = info_and_users_page.click_next_button()
  129. self.__class__.current_page = payments_setup_first_page
  130. self.assertTrue(payments_setup_first_page.is_page_loaded(), "Checking that the Receipient & Amount tab got loaded")
  131.  
  132.  
  133. def test_10_fill_rec_details(self):
  134. payment_setup_first_page = self.current_page
  135. payment_setup_first_page.choose_recipient(self.input["recipient details"]["display name"])
  136. payment_setup_first_page.wait_for_amount_and_addendum_fields()
  137. payment_setup_first_page.enter_amount(self.input["recipient details"]["display name"], self.input["templateData"]["amount"])
  138. payment_setup_first_page.enter_addendum(self.input["recipient details"]["display name"], self.input["templateData"]["addendum"])
  139. payment_setup_second_page = payment_setup_first_page.click_next_button('false')
  140. self.__class__.current_page = payment_setup_second_page
  141. self.assertTrue(payment_setup_second_page.is_page_loaded(), "Checking that the Account tab got loaded")
  142.  
  143. def test_11_choose_accounts(self):
  144. payment_setup_second_page = self.current_page
  145. payment_setup_second_page.choose_from_account(self.input["templateData"]["accountnum"])
  146. payment_setup_third_page = payment_setup_second_page.click_next_button()
  147. self.__class__.current_page = payment_setup_third_page
  148. self.assertTrue(payment_setup_third_page.is_page_loaded(), "Checking that the Review & Submit tab got loaded")
  149.  
  150. def test_12_review_submit(self):
  151. payment_setup_third_page = self.current_page
  152. payment_setup_third_page.select_date()
  153. is_ach_lass_code_correct = payment_setup_third_page.get_ach_class_code_in_overview() == self.input["templateData"]["class code"]
  154. is_total_amount_correct = payment_setup_third_page.get_total_amt_in_overview() == "$"+ self.input["templateData"]["amount"] +" to 1 recipient"
  155. is_send_payment_as_correct = payment_setup_third_page.get_send_payment_as_str() == self.input["templateData"]["subsidname"]
  156. is_from_account_correct = self.input["templateData"]["accountnum"] in payment_setup_third_page.get_txt_frm_acc_overview()
  157. is_recipient_correct = payment_setup_third_page.get_rec_display_name() == self.input["recipient details"]["display name"]
  158. is_rec_acc_id_correct = payment_setup_third_page.get_recipient_account_id() == self.input["templateData"]["recipaccount"]
  159. is_tot_amount_in_tbl_correct = payment_setup_third_page.get_tot_amt_in_table() == "$"+ self.input["templateData"]["amount"]
  160. self.assertTrue(is_ach_lass_code_correct and is_total_amount_correct and is_send_payment_as_correct and
  161. is_from_account_correct and is_recipient_correct and is_rec_acc_id_correct and is_tot_amount_in_tbl_correct,
  162. "Overview Page text is verified")
  163.  
  164. def test_13_ach_save_temp(self):
  165. payment_setup_third_page = self.current_page
  166. modal = payment_setup_third_page.click_save()
  167. self.__class__.current_page = modal
  168. is_modal_title_correct = modal.get_modal_title() == "Template Saved"
  169. self.assertTrue(is_modal_title_correct, "Checking that the Modal Template got loaded")
  170.  
  171. def test_14_ach_validate_save_modal(self):
  172. modal = self.current_page
  173. modal_title = modal.get_modal_title() == "Template Saved"
  174. modal_color = modal.get_modal_color() == "rgba(0, 154, 64, 1)"
  175. modal_text = modal.get_modal_text() == "Template save was successful."
  176. self.assertTrue(modal_title and modal_color and modal_text, "Checking that the Modal Template got loaded")
  177.  
  178. def test_15_ach_draft_modal(self):
  179. modal = self.current_page
  180. modal.click_close_on_temp_save_modal()
  181. self.review_submit_page = review_and_submit_page.ReviewSubmitPage(self.driver, "ach")
  182. modal = self.review_submit_page.click_draft()
  183. self.__class__.current_page = modal
  184. global TRACKING_ID
  185. TRACKING_ID = modal.get_ach_draft_modal_data("Tracking ID").split("Tracking ID: #", 1)[1]
  186. global AUTHORIZED_BY
  187. AUTHORIZED_BY = modal.get_drafted_by()
  188. is_drafted_by_correct = AUTHORIZED_BY in modal.get_ach_draft_modal_data("Drafted By")
  189. modal_title = modal.get_modal_title() == "ACH Payment Drafted"
  190. modal_color = modal.get_modal_color() == "rgba(228, 225, 4, 1)"
  191. self.assertTrue(modal_title and modal_color and is_drafted_by_correct, "Checking that the Modal Template got loaded")
  192.  
  193. def test_16_go_to_activity_center(self):
  194. modal = self.current_page
  195. modal.go_to_activity_center()
  196. self.activity_center = activity_center.ActivityCenterPage(self.driver)
  197. self.__class__.current_page = self.activity_center
  198. self.activity_center.wait_for_page_to_load()
  199. 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")
  200.  
  201. def test_17_validate_title_line_activity_center(self):
  202. self.activity_center = activity_center.ActivityCenterPage(self.driver)
  203. is_header_date_valid = len(self.activity_center.return_header_date()) > 0
  204. is_header_status_correct = self.activity_center.return_header_status() == "Drafted"
  205. is_transaction_type_correct = 'ACH Payment - Tracking ID:' in self.activity_center.return_header_trans_type()
  206. is_account_correct = self.activity_center.return_header_account() == self.input["templateData"]["accountname"] +' '+ self.input["templateData"]["accountnum"]
  207. is_amount_correct = self.activity_center.return_header_amount() == "$" + self.input["templateData"]["amount"]
  208. self.assertTrue(is_header_date_valid and is_header_status_correct and
  209. is_transaction_type_correct and is_account_correct and is_amount_correct,
  210. "Checking that the header fields are correct")
  211.  
  212. def test_18_validate_data_activity_center(self):
  213. global TRACKING_ID
  214. global AUTHORIZED_BY
  215. self.activity_center = activity_center.ActivityCenterPage(self.driver)
  216. is_tracking_id_correct = TRACKING_ID == self.activity_center.return_tracking_id()
  217. is_created_date_valid = len(self.activity_center.return_created_date()) > 0
  218. is_created_by_correct = self.activity_center.return_created_by() == AUTHORIZED_BY
  219. is_process_date_valid = len(self.activity_center.return_process_date()) > 0
  220. is_effective_date_valid = len(self.activity_center.return_effective_date()) > 0
  221. is_amount_correct = self.activity_center.return_item_amount() == "$" + self.input["templateData"]["amount"]
  222. is_from_account_correct = self.activity_center.return_item_from_account() == self.input["templateData"]["accountname"] +' '+ self.input["templateData"]["accountnum"]
  223. is_recipient_name_correct = self.activity_center.return_item_recipient_name() == self.input["recipient details"]["display name"]
  224. is_recipient_ach_name_correct = self.activity_center.return_item_recipient_ach_name() == self.input["recipient details"] ["ch name"]
  225. is_ach_class_code_correct = self.activity_center.return_item_recipient_ach_class_code() == "PPD"
  226. is_addenda_correct = self.activity_center.return_item_rec_addenda() == self.input["templateData"]["addendum"]
  227. self.assertTrue(is_tracking_id_correct and is_created_date_valid and is_created_by_correct and is_amount_correct and is_from_account_correct and is_process_date_valid and
  228. is_recipient_ach_name_correct and is_recipient_name_correct and is_addenda_correct and
  229. is_ach_class_code_correct and is_effective_date_valid,
  230. "Checking that the data from activity center is correct")
  231.  
  232. def test_19_transaction_boxes_activity_center(self):
  233. self.activity_center = activity_center.ActivityCenterPage(self.driver)
  234. is_drafted_box_correct = self.activity_center.is_trans_draft_fld_present()
  235. is_approvals_box_present = self.activity_center.is_trans_approve_fld_present()
  236. is_authorized_box_present = self.activity_center.is_trans_auth_fld_present()
  237. is_processed_box_present = self.activity_center.is_trans_process_fld_present()
  238. self.assertTrue(is_drafted_box_correct and is_approvals_box_present and is_authorized_box_present and is_processed_box_present,"Checking that the all transaction boxes are present")
  239.  
  240. def test_20_commercial_recipients(self):
  241. self.menu = main_page.Menu(self.driver)
  242. self.menu.open_menu_item('Commercial')
  243. self.payment_page = self.menu.open_menu_child_item('Recipients')
  244. self.payment_page.wait_for_page_to_load()
  245. self.assertTrue(self.payment_page.is_page_loaded(), "Checking that the Recipients Page got loaded")
  246.  
  247. def test_21_delete_recipient(self):
  248. self.recipient_main_page = recipient_management_page.RecipientManagementPage(self.driver)
  249. self.recipient_main_page.delete_recipient_based_on_name(self.input["recipient details"]["display name"])
  250. self.recipient_main_page.click_delete_recipient_on_modal()
  251. self.recipient_main_page.close_modal()
  252. self.assertFalse(self.recipient_main_page.is_recipient_available(self.input["recipient details"]["display name"]),"Checking if the Recipient is available")
  253. '''
  254. def test_22_log_off(self):
  255. self.activity_center = activity_center.ActivityCenterPage(self.driver)
  256. self.activity_center.page.logoff()
  257. self.login = login_page.LoginPage(self.driver)
  258. self.login.wait_for_page_to_load()
  259. self.assertTrue(self.login.is_login_page_loaded(), "Checking that the user logged off correctly")
  260. '''
  261. def setUp(self):
  262. self.util.set_up(self)
  263.  
  264. def tearDown(self):
  265. self.util.tear_down(self)
  266.  
  267. @classmethod
  268. def tearDownClass(cls):
  269. cls.util.close_the_browser(cls.driver)
  270.  
  271. if __name__ == '__main__':
  272. if len(sys.argv) == 2:
  273. AchReceiptTemplateTest.ENV = sys.argv.pop()
  274. if len(sys.argv) == 3:
  275. AchReceiptTemplateTest.BROWSER = sys.argv.pop()
  276. AchReceiptTemplateTest.ENV = sys.argv.pop()
  277. with open('test-reports/junit.xml', 'wb') as output:
  278. unittest.main(testRunner=xmlrunner.XMLTestRunner(output=output),
  279. failfast=False, buffer=False, catchbreak=False)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement