Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import unit_tests.commercial.importer
- import os
- import unittest
- import sys
- import xmlrunner
- from lib import q2_library
- from pages.ngam import main_page, login_page
- from pages.ngam.commercial.payments import payments
- from pages.ngam.transactions import activity_center
- from pages.ngam.commercial.payments.payment_setup_flow import info_and_users_page, review_and_submit_page
- from lib import modal_page
- from pages.ngam.commercial.recipients import recipient_card_page, recipient_management_page, recipient_account_page
- from lib.base_page import Page
- class AchReceiptTemplateTest(unittest.TestCase, Page):
- driver = None
- util = None
- TRACKING_ID = None
- AUTHORIZED_BY = None
- ENV = 'CI'
- BROWSER = 'CHROME_MAC'
- @classmethod
- def setUpClass(cls):
- cls.util = q2_library.Utilities()
- cls.util.load_config(cls)
- cls.input = cls.util.read_data_file('payments/payment_template_data.dat')["paymentDataSets"][1]
- cls.driver = cls.util.get_browser()
- cls.url = cls.util.get_config("base_url")
- cls.user = cls.util.get_credentials('autotreas')
- cls.password = cls.util.get_credentials('password')
- cls.current_page = None
- def test_01_navigation(self):
- self.driver.get(self.url)
- self.driver.maximize_window()
- self.assertIn("4", self.driver.title, "Checking the title has the correct value")
- def test_02_login_successful(self):
- main_page_obj = main_page.MainPage(self.driver)
- login = main_page.Page(self.driver)
- login.login(self.user, self.password)
- self.assertTrue(main_page_obj.is_page_loaded(), "Login was successful")
- def test_03_payments(self):
- self.menu = main_page.Menu(self.driver)
- self.menu.open_menu_item('Commercial')
- self.recipients_page = self.menu.open_menu_child_item('Recipients')
- self.__class__.current_page = self.recipients_page
- self.recipients_page.wait_for_page_to_load()
- self.assertTrue(self.recipients_page.is_page_loaded(), "Checking that the Recipients Page got loaded")
- def test_04_load_recipients_page(self):
- recipient_main_page = self.current_page
- self.recipient_card_page = recipient_main_page.click_add_recipient_button()
- self.__class__.current_page = self.recipient_card_page
- self.recipient_card_page.wait_for_page_to_load()
- self.assertTrue(self.recipient_card_page.is_page_loaded(), "Checking if the Recipients Page was loaded correctly")
- def test_05_ach_wire_domestic_fill_recipient_details(self):
- recipient_card_page = self.current_page
- recipient_card_page.enter_display_name(self.input["recipient details"]["display name"])
- recipient_card_page.enter_ach_name(self.input["recipient details"]["ach name"])
- recipient_card_page.enter_wire_name(self.input["recipient details"]["wire name"])
- recipient_card_page.enter_ach_id(self.input["recipient details"]["ach id"])
- recipient_card_page.enter_email(self.input["recipient details"]["email"])
- recipient_card_page.click_send_email_notifications()
- recipient_card_page.enter_address1(self.input["recipient details"]["address1"])
- recipient_card_page.enter_address2(self.input["recipient details"]["address2"])
- recipient_card_page.enter_city(self.input["recipient details"]["city"])
- recipient_card_page.select_country(self.input["recipient details"]["country"])
- recipient_card_page.select_state(self.input["recipient details"]["state"])
- recipient_card_page.enter_zip(self.input["recipient details"]["zip"])
- recipient_account_page = recipient_card_page.click_next_button()
- self.__class__.current_page = recipient_account_page
- recipient_account_page.wait_for_page_to_load()
- self.assertTrue(recipient_account_page.is_page_loaded(), "Checking if the Recipient AccountPage was loaded correctly")
- def test_06_ach_wire_domestic_account_details(self):
- recipient_account_page = self.current_page
- recipient_account_page.select_ach_and_wire()
- recipient_account_page.select_domestic()
- recipient_account_page.select_account_type(self.input["account details"]["account type"])
- recipient_account_page.enter_account_number(self.input["account details"]["account number"])
- recipient_account_page.enter_routing_number(self.input["account details"]["routing number"])
- recipient_account_page.enter_beneficiary_name(self.input["account details"]["beneficiary"]["beneficiary name"])
- recipient_account_page.enter_beneficiary_aba(self.input["account details"]["beneficiary"]["beneficiary iban"])
- recipient_account_page.enter_beneficiary_address1(self.input["account details"]["beneficiary"]["beneficiary address1"])
- recipient_account_page.enter_beneficiary_address2(self.input["account details"]["beneficiary"]["beneficiary address2"])
- recipient_account_page.enter_beneficiary_city(self.input["account details"]["beneficiary"]["beneficiary city"])
- recipient_account_page.select_beneficiary_state(self.input["account details"]["beneficiary"]["beneficiary state"])
- recipient_account_page.enter_beneficiary_zip(self.input["account details"]["beneficiary"]["beneficiary zip"])
- recipient_account_page.enter_intermediary_name(self.input["account details"]["intermediary"]["intermediary name"])
- recipient_account_page.enter_intermediary_aba(self.input["account details"]["intermediary"]["intermediary aba"])
- recipient_account_page.enter_intermediary_address1(self.input["account details"]["intermediary"]["intermediary address1"])
- recipient_account_page.enter_intermediary_address2(self.input["account details"]["intermediary"]["intermediary address2"])
- recipient_account_page.enter_intermediary_city(self.input["account details"]["intermediary"]["intermediary city"])
- recipient_account_page.select_intermediary_state(self.input["account details"]["intermediary"]["intermediary state"])
- recipient_account_page.enter_intermediary_zip(self.input["account details"]["intermediary"]["intermediary zip"])
- recipient_account_page.click_save_button_for_new_recipient()
- self.recipient_page = recipient_management_page.RecipientManagementPage(self.driver)
- self.recipient_page.wait_for_page_to_load()
- self.assertTrue(self.recipient_page.is_recipient_available(self.input["recipient details"]["display name"]),"Checking if the Recipient account details page is available")
- def test_07_commercial_payments(self):
- self.menu = main_page.Menu(self.driver)
- self.menu.open_menu_item('Commercial')
- self.payment_page = self.menu.open_menu_child_item('Payments')
- self.__class__.current_page = self.payment_page
- self.payment_page.wait_for_page_to_load()
- self.assertTrue(self.payment_page.is_page_loaded(), "Checking that the Recipients Page got loaded")
- def test_08_load_ach_payments_page(self):
- payment_page = self.current_page
- payment_page.click_new_template_drop_down()
- payment_page.click_new_template_dropdown_val(self.input["templateData"]["template"])
- self.info_and_users_page = info_and_users_page.InfoUsersPage(self.driver, "ach")
- self.__class__.current_page = self.info_and_users_page
- self.info_and_users_page.wait_for_page_to_load()
- self.assertTrue(self.info_and_users_page.is_page_loaded(), "Checking that the Recipient & Amount tab got loaded")
- def test_09_fill_ach_template_Name(self):
- info_and_users_page = self.current_page
- info_and_users_page.fill_template_name(self.input["templateData"]["template name"])
- payments_setup_first_page = info_and_users_page.click_next_button()
- self.__class__.current_page = payments_setup_first_page
- self.assertTrue(payments_setup_first_page.is_page_loaded(), "Checking that the Receipient & Amount tab got loaded")
- def test_10_fill_rec_details(self):
- payment_setup_first_page = self.current_page
- payment_setup_first_page.choose_recipient(self.input["recipient details"]["display name"])
- payment_setup_first_page.wait_for_amount_and_addendum_fields()
- payment_setup_first_page.enter_amount(self.input["recipient details"]["display name"], self.input["templateData"]["amount"])
- payment_setup_first_page.enter_addendum(self.input["recipient details"]["display name"], self.input["templateData"]["addendum"])
- payment_setup_second_page = payment_setup_first_page.click_next_button('false')
- self.__class__.current_page = payment_setup_second_page
- self.assertTrue(payment_setup_second_page.is_page_loaded(), "Checking that the Account tab got loaded")
- def test_11_choose_accounts(self):
- payment_setup_second_page = self.current_page
- payment_setup_second_page.choose_from_account(self.input["templateData"]["accountnum"])
- payment_setup_third_page = payment_setup_second_page.click_next_button()
- self.__class__.current_page = payment_setup_third_page
- self.assertTrue(payment_setup_third_page.is_page_loaded(), "Checking that the Review & Submit tab got loaded")
- def test_12_review_submit(self):
- payment_setup_third_page = self.current_page
- payment_setup_third_page.select_date()
- is_ach_lass_code_correct = payment_setup_third_page.get_ach_class_code_in_overview() == self.input["templateData"]["class code"]
- is_total_amount_correct = payment_setup_third_page.get_total_amt_in_overview() == "$"+ self.input["templateData"]["amount"] +" to 1 recipient"
- is_send_payment_as_correct = payment_setup_third_page.get_send_payment_as_str() == self.input["templateData"]["subsidname"]
- is_from_account_correct = self.input["templateData"]["accountnum"] in payment_setup_third_page.get_txt_frm_acc_overview()
- is_recipient_correct = payment_setup_third_page.get_rec_display_name() == self.input["recipient details"]["display name"]
- is_rec_acc_id_correct = payment_setup_third_page.get_recipient_account_id() == self.input["templateData"]["recipaccount"]
- is_tot_amount_in_tbl_correct = payment_setup_third_page.get_tot_amt_in_table() == "$"+ self.input["templateData"]["amount"]
- self.assertTrue(is_ach_lass_code_correct and is_total_amount_correct and is_send_payment_as_correct and
- is_from_account_correct and is_recipient_correct and is_rec_acc_id_correct and is_tot_amount_in_tbl_correct,
- "Overview Page text is verified")
- def test_13_ach_save_temp(self):
- payment_setup_third_page = self.current_page
- modal = payment_setup_third_page.click_save()
- self.__class__.current_page = modal
- is_modal_title_correct = modal.get_modal_title() == "Template Saved"
- self.assertTrue(is_modal_title_correct, "Checking that the Modal Template got loaded")
- def test_14_ach_validate_save_modal(self):
- modal = self.current_page
- modal_title = modal.get_modal_title() == "Template Saved"
- modal_color = modal.get_modal_color() == "rgba(0, 154, 64, 1)"
- modal_text = modal.get_modal_text() == "Template save was successful."
- self.assertTrue(modal_title and modal_color and modal_text, "Checking that the Modal Template got loaded")
- def test_15_ach_draft_modal(self):
- modal = self.current_page
- modal.click_close_on_temp_save_modal()
- self.review_submit_page = review_and_submit_page.ReviewSubmitPage(self.driver, "ach")
- modal = self.review_submit_page.click_draft()
- self.__class__.current_page = modal
- global TRACKING_ID
- TRACKING_ID = modal.get_ach_draft_modal_data("Tracking ID").split("Tracking ID: #", 1)[1]
- global AUTHORIZED_BY
- AUTHORIZED_BY = modal.get_drafted_by()
- is_drafted_by_correct = AUTHORIZED_BY in modal.get_ach_draft_modal_data("Drafted By")
- modal_title = modal.get_modal_title() == "ACH Payment Drafted"
- modal_color = modal.get_modal_color() == "rgba(228, 225, 4, 1)"
- self.assertTrue(modal_title and modal_color and is_drafted_by_correct, "Checking that the Modal Template got loaded")
- def test_16_go_to_activity_center(self):
- modal = self.current_page
- modal.go_to_activity_center()
- self.activity_center = activity_center.ActivityCenterPage(self.driver)
- self.__class__.current_page = self.activity_center
- self.activity_center.wait_for_page_to_load()
- 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")
- def test_17_validate_title_line_activity_center(self):
- self.activity_center = activity_center.ActivityCenterPage(self.driver)
- is_header_date_valid = len(self.activity_center.return_header_date()) > 0
- is_header_status_correct = self.activity_center.return_header_status() == "Drafted"
- is_transaction_type_correct = 'ACH Payment - Tracking ID:' in self.activity_center.return_header_trans_type()
- is_account_correct = self.activity_center.return_header_account() == self.input["templateData"]["accountname"] +' '+ self.input["templateData"]["accountnum"]
- is_amount_correct = self.activity_center.return_header_amount() == "$" + self.input["templateData"]["amount"]
- self.assertTrue(is_header_date_valid and is_header_status_correct and
- is_transaction_type_correct and is_account_correct and is_amount_correct,
- "Checking that the header fields are correct")
- def test_18_validate_data_activity_center(self):
- global TRACKING_ID
- global AUTHORIZED_BY
- self.activity_center = activity_center.ActivityCenterPage(self.driver)
- is_tracking_id_correct = TRACKING_ID == self.activity_center.return_tracking_id()
- is_created_date_valid = len(self.activity_center.return_created_date()) > 0
- is_created_by_correct = self.activity_center.return_created_by() == AUTHORIZED_BY
- is_process_date_valid = len(self.activity_center.return_process_date()) > 0
- is_effective_date_valid = len(self.activity_center.return_effective_date()) > 0
- is_amount_correct = self.activity_center.return_item_amount() == "$" + self.input["templateData"]["amount"]
- is_from_account_correct = self.activity_center.return_item_from_account() == self.input["templateData"]["accountname"] +' '+ self.input["templateData"]["accountnum"]
- is_recipient_name_correct = self.activity_center.return_item_recipient_name() == self.input["recipient details"]["display name"]
- is_recipient_ach_name_correct = self.activity_center.return_item_recipient_ach_name() == self.input["recipient details"] ["ch name"]
- is_ach_class_code_correct = self.activity_center.return_item_recipient_ach_class_code() == "PPD"
- is_addenda_correct = self.activity_center.return_item_rec_addenda() == self.input["templateData"]["addendum"]
- 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
- is_recipient_ach_name_correct and is_recipient_name_correct and is_addenda_correct and
- is_ach_class_code_correct and is_effective_date_valid,
- "Checking that the data from activity center is correct")
- def test_19_transaction_boxes_activity_center(self):
- self.activity_center = activity_center.ActivityCenterPage(self.driver)
- is_drafted_box_correct = self.activity_center.is_trans_draft_fld_present()
- is_approvals_box_present = self.activity_center.is_trans_approve_fld_present()
- is_authorized_box_present = self.activity_center.is_trans_auth_fld_present()
- is_processed_box_present = self.activity_center.is_trans_process_fld_present()
- 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")
- def test_20_commercial_recipients(self):
- self.menu = main_page.Menu(self.driver)
- self.menu.open_menu_item('Commercial')
- self.payment_page = self.menu.open_menu_child_item('Recipients')
- self.payment_page.wait_for_page_to_load()
- self.assertTrue(self.payment_page.is_page_loaded(), "Checking that the Recipients Page got loaded")
- def test_21_delete_recipient(self):
- self.recipient_main_page = recipient_management_page.RecipientManagementPage(self.driver)
- self.recipient_main_page.delete_recipient_based_on_name(self.input["recipient details"]["display name"])
- self.recipient_main_page.click_delete_recipient_on_modal()
- self.recipient_main_page.close_modal()
- self.assertFalse(self.recipient_main_page.is_recipient_available(self.input["recipient details"]["display name"]),"Checking if the Recipient is available")
- '''
- def test_22_log_off(self):
- self.activity_center = activity_center.ActivityCenterPage(self.driver)
- self.activity_center.page.logoff()
- self.login = login_page.LoginPage(self.driver)
- self.login.wait_for_page_to_load()
- self.assertTrue(self.login.is_login_page_loaded(), "Checking that the user logged off correctly")
- '''
- def setUp(self):
- self.util.set_up(self)
- def tearDown(self):
- self.util.tear_down(self)
- @classmethod
- def tearDownClass(cls):
- cls.util.close_the_browser(cls.driver)
- if __name__ == '__main__':
- if len(sys.argv) == 2:
- AchReceiptTemplateTest.ENV = sys.argv.pop()
- if len(sys.argv) == 3:
- AchReceiptTemplateTest.BROWSER = sys.argv.pop()
- AchReceiptTemplateTest.ENV = sys.argv.pop()
- with open('test-reports/junit.xml', 'wb') as output:
- unittest.main(testRunner=xmlrunner.XMLTestRunner(output=output),
- failfast=False, buffer=False, catchbreak=False)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement