Advertisement
Guest User

Untitled

a guest
Dec 1st, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.49 KB | None | 0 0
  1. import importer
  2. import unittest
  3. import xmlrunner
  4. import time
  5. from lib import q2_library, modal_page
  6. from pages.ngam import main_page, login_page
  7. from pages.ngam.transactions import activity_center_page
  8.  
  9.  
  10. class TSTR_1957_da_withlimit_single_domesticwire_approve(unittest.TestCase):
  11. driver = None
  12. util = None
  13. ENV = 'CI'
  14. BROWSER = 'CHROME_MAC'
  15. TRACKING_ID = None
  16.  
  17. @classmethod
  18. def setUpClass(cls):
  19. cls.util = q2_library.Utilities()
  20. cls.util.load_config(cls)
  21. cls.input = cls.util.read_data_file("payments/tstr_1957_data.json")
  22. cls.driver = cls.util.get_browser(5)
  23. cls.url = cls.util.get_config("base_url")
  24. cls.user = cls.util.get_credentials('dual_action_with_limit_user')
  25. cls.password = cls.util.get_credentials('password_ma')
  26. cls.second_user = cls.util.get_credentials('dual_actionfx_user_1')
  27. cls.current_page = None
  28. cls.tracking_id = None
  29.  
  30. def test_01_navigation(self):
  31. """Open the browser"""
  32. self.driver.get(self.url)
  33. self.driver.maximize_window()
  34. self.assertIn("4", self.driver.title, "Checking the title has the correct value")
  35.  
  36. def test_02_login_successful(self):
  37. """Login the app"""
  38. login = login_page.LoginPage(self.driver)
  39. login.enter_username(self.user)
  40. login.enter_password(self.password)
  41. main_page = login.click_submit_button()
  42. msg = main_page.validate_welcome_msg()
  43. self.assertIn("Welcome back", msg, "Login was successful")
  44.  
  45. def test_03_payments(self):
  46. """Going to payments"""
  47. menu = main_page.Menu(self.driver)
  48. menu.open_menu_item(self.input["commercial_menu"])
  49. payment_page = menu.open_menu_child_item(self.input["payments_menu"])
  50. self.__class__.current_page = payment_page
  51. payment_page.wait_for_page_to_load()
  52. self.assertTrue(payment_page.is_page_loaded(), "Checking if the payments page is loaded")
  53.  
  54. def test_04_payments_page(self):
  55. """Setting the template"""
  56. self.payment_page = self.current_page
  57. self.payment_page.click_new_payment_drop_down()
  58. recipient_and_amount_page = self.payment_page.click_new_payment_dropdown_val(self.input['template_type'], "Single")
  59. recipient_and_amount_page.wait_for_page_to_load()
  60. self.__class__.current_page = recipient_and_amount_page
  61. self.assertTrue(recipient_and_amount_page.is_page_loaded(), "Check if the Recipient and Amount Page was loaded")
  62.  
  63. def test_05_recipient_amount_tab(self):
  64. """Going to recipient Tab"""
  65. recipient_and_amount_page = self.current_page
  66. recipient_and_amount_page.select_list_view()
  67. recipient_and_amount_page.choose_recipient(self.input["recipient1"])
  68. recipient_and_amount_page.enter_amount(self.input["recipient1"], self.input["amount1"])
  69. warning_msg = recipient_and_amount_page.check_for_alac_warning_msg(self.input["warning_msg"])
  70. warning_msg2 = recipient_and_amount_page.check_for_alac_warning_msg(self.input["warning_msg2"])
  71. subsidiary_tab = recipient_and_amount_page.click_next_button()
  72. self.__class__.current_page = subsidiary_tab
  73. validations = warning_msg and warning_msg2 and subsidiary_tab.is_page_loaded()
  74. self.assertTrue(validations, "Checking that the Subsidiary tab got loaded")
  75.  
  76. def test_06_subsidiary_tab(self):
  77.  
  78. subsidiary_tab = self.current_page
  79. subsidiary_tab.select_list_view()
  80. subsidiary_tab.choose_subsidiary(self.input["subsidiary"], 1)
  81. account_tab = subsidiary_tab.click_next_button()
  82. self.__class__.current_page = account_tab
  83. validations = account_tab.is_page_loaded()
  84. self.assertTrue(validations, "Checking if the Account tab got loaded")
  85.  
  86. def test_07_go_accounts_tab(self):
  87. """Going account tab """
  88. account_tab = self.current_page
  89. account_tab.choose_from_account(self.input["account"])
  90. review_submit_tab = account_tab.click_next_button()
  91. self.__class__.current_page = review_submit_tab
  92. self.assertTrue(review_submit_tab.is_page_loaded(), "Checking that the Review & Submit tab got loaded")
  93.  
  94. def test_08_go_review_submit_tab(self):
  95. """Submitting transaction """
  96. review_submit_tab = self.current_page
  97. review_submit_tab.select_date()
  98. is_alert_present = review_submit_tab.is_error_message_present(self.input["ach_review_message"])
  99. is_draft_enabled = review_submit_tab.is_draft_enabled()
  100. is_approve_disabled = not review_submit_tab.is_approve_enabled()
  101. is_total_amount_correct = review_submit_tab.get_total_amt_in_overview() == self.input[
  102. "total_amount_in_overview"]
  103. is_send_payment_as_correct = review_submit_tab.get_send_payment_as_str() == self.input["subsidiary"]
  104. is_from_account_correct = self.input[
  105. "from_account_in_overview"] in review_submit_tab.get_txt_frm_acc_overview()
  106. is_recipient1_correct = review_submit_tab.get_rec_display_name(1) == self.input["recipient1"]
  107. self.assertTrue(
  108. is_alert_present and is_draft_enabled and is_approve_disabled and is_total_amount_correct and is_send_payment_as_correct and
  109. is_from_account_correct and is_recipient1_correct,
  110. "Checking that overview information is correct")
  111.  
  112. def test_09_draft_payment(self):
  113. """Checking that the modal information is correct"""
  114. review_submit_tab = self.current_page
  115. modal = review_submit_tab.click_draft()
  116. self.__class__.current_page = modal
  117. is_color_correct = modal.get_modal_color() == self.input["ach_batch_drafted_color"]
  118. is_message_present = modal.get_modal_text() == self.input["ach_batch_message"]
  119. self.__class__.tracking_id = modal.get_ach_draft_modal_data("Tracking ID").split("Tracking ID: #", 1)[1]
  120. self.assertTrue(is_color_correct and is_message_present,
  121. "Checking that the modal information is correct")
  122.  
  123. def test_10_go_to_activity_center(self):
  124. """Going to Activity Center page"""
  125. modal = self.current_page
  126. modal.go_to_activity_center()
  127. self.activity_center = activity_center_page.ActivityCenterPage(self.driver)
  128. self.assertTrue(self.activity_center.is_single_transactions_tab_loaded(),
  129. "Check if the Activity page is displayed")
  130.  
  131. def test_11_validate_Wire(self):
  132. """Validating transfer info"""
  133. activity_center_p = activity_center_page.ActivityCenterPage(self.driver)
  134. activity_center_p.expand_transaction()
  135. header_status = activity_center_p.return_header_status() == self.input["header_status"]
  136. approval_header = activity_center_p.return_header_approvals() == self.input["header_approvals"]
  137. approval_dropdown_element = not activity_center_p.is_actions_menu_item_present(self.input["dropdown_action"])
  138. activity_center_p.expand_transaction()
  139. step_state = str(activity_center_p.get_trans_fld_data(self.input["trans_approve_fld"], "1.")).split(".")[1] == \
  140. self.input["trans_draft_fld"]
  141. activity_center_p.expand_transaction()
  142. self.assertTrue(header_status and approval_header and approval_dropdown_element and step_state,
  143. "Check if one or more validations are correct")
  144.  
  145. def test_12_log_off(self):
  146. """Logging off the app"""
  147. self.menu = main_page.Menu(self.driver)
  148. self.menu.open_menu_item('Log Off')
  149. self.__class__.current_page = login_page.LoginPage(self.driver)
  150. self.current_page.wait_for_page_to_load()
  151. self.assertTrue(self.current_page.is_login_page_loaded(), "Checking that the user logged off correctly")
  152.  
  153. def test_13_login_successful(self):
  154. """Login into the app"""
  155. self.current_page.enter_username(self.second_user)
  156. self.current_page.enter_password(self.password)
  157. self.__class__.current_page = self.current_page.click_submit_button()
  158. msg = self.current_page.validate_welcome_msg()
  159. self.assertIn('Welcome back', msg, "Login was successful")
  160.  
  161. def test_14_go_to_activity_center(self):
  162. """Going to Activity Center Page"""
  163. self.menu = main_page.Menu(self.driver)
  164. self.menu.open_menu_item(self.input['transaction_menu'])
  165. self.activity_center_page = self.menu.open_menu_child_item(self.input['activity_center'])
  166. self.activity_center_page.wait_for_page_to_load()
  167. self.assertTrue(self.activity_center_page.is_page_loaded(), "Checking that the Activity Center page got loaded")
  168.  
  169. def test_15_check_transaction(self):
  170. """Checking the transaction information """
  171. activity_center_p = activity_center_page.ActivityCenterPage(self.driver)
  172. activity_center_p.select_transaction_type_from_dropdown(self.input["transaction_type"])
  173. activity_center_p.click_column_to_display(self.input["checkbox_filter_option"])
  174. activity_center_p.filter_by_trans_id(self.tracking_id)
  175. activity_center_p.click_apply_filter()
  176.  
  177. header_status = activity_center_p.return_header_status() == self.input["header_status"]
  178. approval_header = activity_center_p.return_header_approvals() == self.input["header_approvals"]
  179. is_approval_option_present = activity_center_p.is_actions_menu_item_present(self.input["dropdown_action"])
  180. activity_center_p.expand_transaction()
  181. step_state = str(activity_center_p.get_trans_fld_data(self.input["trans_approve_fld"], "1.")).split(".")[1] == \
  182. self.input["trans_draft_fld"]
  183. activity_center_p.expand_transaction()
  184. self.assertTrue(header_status and approval_header and is_approval_option_present and step_state,
  185. "Check for some of the previous validations to ensure those are True")
  186.  
  187. def test_16_approve_transaction(self):
  188. """Approving the transaction"""
  189. activity_center_p = activity_center_page.ActivityCenterPage(self.driver)
  190. activity_center_p.click_actions_link()
  191. activity_center_p.click_actions_menu_item(self.input["dropdown_action"])
  192. activity_center_p.click_confirm()
  193.  
  194. approve_modal_page = modal_page.ModalPage(self.driver)
  195. approve_draft_color = approve_modal_page.return_title_color() == self.input["ach_approval_color"]
  196. approve_modal_page.click_close_modal()
  197. self.assertTrue(approve_draft_color, "The Title color is not green for the Approval Modal")
  198.  
  199. def test_17_go_to_activity_center(self):
  200. """Going to Activity Center Page"""
  201. activity_center_p = activity_center_page.ActivityCenterPage(self.driver)
  202. header_status = activity_center_p.return_header_status() == self.input["header_status_auth"]
  203. approval_header = activity_center_p.return_header_approvals() == self.input["header_approvals_auth"]
  204. activity_center_p.expand_transaction()
  205. approval_dropdown_element = activity_center_p.is_actions_menu_item_present(self.input["dropdown_action"])
  206. activity_center_p.expand_transaction()
  207. step_state = str(activity_center_p.get_trans_fld_data(self.input["trans_approve_fld"], "1.")).split("\n")[1] == \
  208. self.input["trans_draft_fld_auth"]
  209. self.assertTrue(header_status and approval_header and approval_dropdown_element == False and step_state,
  210. "Check if one or more validations are correct")
  211.  
  212. def test_18_log_off(self):
  213. """Logging off the app"""
  214. self.menu = main_page.Menu(self.driver)
  215. self.menu.open_menu_item('Log Off')
  216. self.__class__.current_page = login_page.LoginPage(self.driver)
  217. self.current_page.wait_for_page_to_load()
  218. self.assertTrue(self.current_page.is_login_page_loaded(), "Checking that the user logged off correctly")
  219.  
  220. def setUp(self):
  221. self.util.set_up(self)
  222.  
  223. def tearDown(self):
  224. self.util.tear_down(self)
  225.  
  226. @classmethod
  227. def tearDownClass(cls):
  228. cls.util.close_the_browser(cls.driver)
  229.  
  230.  
  231. if __name__ == '__main__':
  232. q2_library.Utilities().set_parameters_to_this(TSTR_1957_da_withlimit_single_domesticwire_approve)
  233. with open('test-reports/TSTR_1957_da_withlimit_single_domesticwire_approve.xml', 'wb') as output:
  234. unittest.main(testRunner=xmlrunner.XMLTestRunner(output=output, verbosity=2),
  235. failfast=False, buffer=False, catchbreak=False)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement