Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ################################################################################
- ##
- ## Filename: TSTR_1138_edit_payee_unit_test.py
- ##
- ## Description: This unit test validates if the user is able to edit a payee.
- ## (~atf/pages/ngam/transactions/messages.py)
- ##
- ################################################################################
- import importer
- import unittest
- import sys
- import xmlrunner
- from lib import q2_library
- from pages.ngam import main_page, login_page
- from pages.ngam.billpay import billpay_page
- from proboscis.asserts import assert_true, assert_false
- class EditPayee(unittest.TestCase):
- driver = None
- util = None
- ENV = 'CI'
- BROWSER = 'CHROME_MAC'
- @classmethod
- def setUpClass(cls):
- cls.util = q2_library.Utilities()
- cls.util.load_config(cls)
- cls.data = cls.util.read_data_file('payments/TSTR_1138_edit_payee.dat')
- cls.driver = cls.util.get_browser()
- cls.url = cls.util.get_config("base_url")
- cls.user = cls.util.get_credentials('autorelbp')
- cls.password = cls.util.get_credentials('passwordlbp')
- def test_01_navigation(self):
- self.driver.get(self.url)
- self.driver.maximize_window()
- def test_02_login(self):
- """Login to the app"""
- login = login_page.LoginPage(self.driver)
- login.wait_for_page_to_load()
- login.enter_username(self.user)
- login.enter_password(self.password)
- principal_page = login.click_submit_button()
- message = principal_page.validate_welcome_msg()
- self.assertIn('Welcome back', message, 'Login Failed')
- def test_03_click_submenu_item(self):
- """Open the iPay Multi-Billpay menu"""
- iPay_multi_billpay = billpay_page.BillpayPage(self.driver)
- side_bar_menu = main_page.Menu(self.driver)
- side_bar_menu.open_menu_item("iPay Billpays")
- iPay_multi_billpay.pause(5)
- side_bar_menu.open_menu_child_item("iPay Multi-Billpay")
- is_multibillpay_page_displayed = iPay_multi_billpay.validate_pay_bills_tab()
- assert_true(is_multibillpay_page_displayed, "The Pay Bills tab is not displayed")
- def test_04_click_add_payee(self):
- """Click on Add payee option and validate if the page is displayed"""
- iPay_multi_billpay = billpay_page.BillpayPage(self.driver)
- iPay_multi_billpay.click_add_payee()
- is_page_displayed = iPay_multi_billpay.validate_add_payee_page()
- assert_true(is_page_displayed, "The page Add Payee is not displayed")
- def test_05_add_payee(self):
- """Add the payee and validate the success message"""
- iPay_multi_billpay = billpay_page.BillpayPage(self.driver)
- data = self.data.get("add payee")
- iPay_multi_billpay.fill_in_payee_name(data.get("name"))
- iPay_multi_billpay.select_payee_type(data.get("payee_type"))
- iPay_multi_billpay.fill_in_payee_address1(data.get("address1"))
- iPay_multi_billpay.fill_in_payee_city(data.get("city"))
- iPay_multi_billpay.select_payee_state(data.get("state"))
- iPay_multi_billpay.fill_in_payee_zip(data.get("zip"))
- iPay_multi_billpay.fill_in_payee_area_code(data.get("area_cod"))
- iPay_multi_billpay.fill_in_payee_phone(data.get("phone"))
- iPay_multi_billpay.fill_account(data.get("account"))
- iPay_multi_billpay.click_payee_save()
- is_success_message_displayed = 'Your new Bill Payee has been successfully created.' == iPay_multi_billpay.get_modal_text()
- assert_true(is_success_message_displayed, 'Success message is not displayed when trying to add the payee')
- def test_06_close_success_modal(self):
- """Click in the Close button and validate if the payee was created"""
- iPay_multi_billpay = billpay_page.BillpayPage(self.driver)
- data = self.data.get("add payee")
- iPay_multi_billpay.click_close__modal()
- iPay_multi_billpay.wait_for_page_to_load()
- is_payee_created = iPay_multi_billpay.validate_payee_name(data.get("name"))
- assert_true(is_payee_created, "Payee was not created")
- def test_07_click_edit_payee(self):
- """Click on Edit Payee"""
- iPay_multi_billpay = billpay_page.BillpayPage(self.driver)
- data = self.data.get("add payee")
- iPay_multi_billpay.enter_search_term(data.get("name"))
- iPay_multi_billpay.pause(5)
- iPay_multi_billpay.click_elipse_options(data.get("name"))
- iPay_multi_billpay.click_edit_payee_with_elipse_option(data.get("name"))
- is_edit_pay_displayed = iPay_multi_billpay.validate_edit_page_is_displayed
- assert_true(is_edit_pay_displayed, "Edit Payee page is not displayed")
- def test_08_edit_payee(self):
- """Edit the payee and validate the success message"""
- iPay_multi_billpay = billpay_page.BillpayPage(self.driver)
- data = self.data.get("edit payee")
- iPay_multi_billpay.edit_in_payee_nickname(data.get("nickname"))
- iPay_multi_billpay.edit_in_payee_address1(data.get("address1"))
- iPay_multi_billpay.click_payee_save()
- is_success_message_displayed = 'Your new Bill Payee has been successfully saved.' == iPay_multi_billpay.get_modal_text()
- assert_true(is_success_message_displayed, 'Success message is not displayed when trying to edit the payee')
- def test_09_close_success_modal(self):
- """Click in the Close button and validate if Pay Bills tab is displayed"""
- iPay_multi_billpay = billpay_page.BillpayPage(self.driver)
- iPay_multi_billpay.click_close__modal()
- is_multibillpay_page_displayed = iPay_multi_billpay.validate_pay_bills_tab()
- assert_true(is_multibillpay_page_displayed, "The Pay Bills tab is not displayed")
- def test_10_validate_payee_address1(self):
- """Click on Edit Payee and validate if the address1 is updated"""
- iPay_multi_billpay = billpay_page.BillpayPage(self.driver)
- data = self.data.get("edit payee")
- iPay_multi_billpay.enter_search_term(data.get("nickname"))
- iPay_multi_billpay.click_elipse_options(data.get("nickname"))
- iPay_multi_billpay.click_edit_payee_with_elipse_option(data.get("nickname"))
- iPay_multi_billpay.pause(5)
- is_address1_updated = iPay_multi_billpay.is_address1_updated(data.get("addresstest"))
- assert_true(is_address1_updated, "Address1 was not updated.")
- 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__':
- q2_library.Utilities().set_parameters_to_this(EditPayee)
- with open('test-reports/junit.xml', 'wb') as output:
- unittest.main(testRunner=xmlrunner.XMLTestRunner(output=output, verbosity=2), failfast=False, buffer=False, catchbreak=False)
Advertisement
Add Comment
Please, Sign In to add comment