def test_edit_dept(self):

        admin = AdminLandingPage(self.driver)
        dept = DeptPage(self.driver)
        dept_details = DeptDetailsPage(self.driver)

        _username = GetConfig('COMPANY_ADMIN')
        _password = GetConfig('PASSWORD')
        _dept_name = GetConfig('DEPT_NAME')

        updated_dept_name = "Dept_%d" % (random.randint(0, 9999))

        login_to_bluesource(self, _username, _password)
        admin.sync()

        # Find specified dept and modify its name
        edit_dept_test = TestStep("Attempt to edit a department.")

        admin.admin_menu_bar.navigate_department()
        admin.sync()

        dept.edit_dept(_dept_name).scroll_element_to_center().click()
        dept_details.sync()

        dept_details.name_textbox.clear()
        dept_details.name_textbox.send_keys(updated_dept_name)
        dept_details.commit_dept_btn.click()
        assert dept.verify_dept_listed(updated_dept_name), 'Department not edited successfully.'

        edit_dept_test('Complete')
    def test_delete_dept(self):

        admin = AdminLandingPage(self.driver)
        dept = DeptPage(self.driver)

        _username = GetConfig('COMPANY_ADMIN')
        _password = GetConfig('PASSWORD')
        _dept_name = GetConfig('DEPT_NAME')

        login_to_bluesource(self, _username, _password)
        admin.sync()

        # Find specified dept and delete it
        delete_dept_test = TestStep("Attempt to delete a department.")

        admin.admin_menu_bar.navigate_department()
        admin.sync()

        dept.delete_dept(DeptTest._dept_name).scroll_element_to_center().click()
        sleep(1)

        self.driver.switch_to.alert.accept()

        assert not(dept.verify_dept_listed(DeptTest._dept_name)), 'Department was not successfully deleted.'

        delete_dept_test("Complete")
示例#3
0
    def test_add_employee(self):

        admin = AdminLandingPage(self.driver)
        employees = EmployeesPage(self.driver)

        _username = GetConfig('COMPANY_ADMIN')
        _password = GetConfig('PASSWORD')
        _dept_name = GetConfig('DEPT_NAME')
        _title_name = GetConfig('TITLE')

        #_new_username = GetConfig('NEW_USERNAME')
        # _employee_first_name = GetConfig('FIRST_NAME')
        # _employee_last_name = GetConfig('LAST_NAME')

        _employee_username = '******' % (random.randint(0, 9999))
        _employee_first_name = 'First_%d' % (random.randint(0, 9999))
        _employee_last_name = 'Last_%d' % (random.randint(0, 9999))
        _employee_cell_phone = '(804) %d-%d' % (random.randint(
            290, 999), random.randint(1000, 9999))
        _name_string = '%s %s' % (_employee_first_name, _employee_last_name)
        _search_string = '%s, %s, %s' % (
            _employee_first_name, _employee_last_name, _employee_cell_phone)

        login_to_bluesource(self, _username, _password)
        admin.sync()

        add_new_employee_step = TestStep('Attempt to add a new employee')

        admin.add_employee()

        admin.modal_username_field.send_keys(_employee_username)
        admin.modal_first_name_field.send_keys(_employee_first_name)
        admin.modal_last_name_field.send_keys(_employee_last_name)

        admin.modal_titles_drop_down.scroll_element_to_center()
        select_titles = Select(admin.modal_titles_drop_down)
        select_titles.select_by_visible_text(_title_name)

        admin.modal_cell_phone_field.scroll_element_to_center().send_keys(
            _employee_cell_phone)

        admin.modal_depts_drop_down.scroll_element_to_center()
        select_depts = Select(admin.modal_depts_drop_down)
        select_depts.select_by_visible_text(_dept_name)

        admin.create_employee()
        admin.sync()

        # cant locate search bar
        # admin.search_bar
        # admin.search_bar.send_keys(_name_string)
        sleep(5)

        admin.verify_employee(_employee_first_name, _employee_last_name,
                              _employee_cell_phone)

        assert admin.action_success_msg.is_displayed(
        ), 'Employee was not successfully created'

        add_new_employee_step('Complete')
    def test_add_dept(self):

        admin = AdminLandingPage(self.driver)
        dept = DeptPage(self.driver)
        dept_details = DeptDetailsPage(self.driver)

        _username = GetConfig('COMPANY_ADMIN')
        _password = GetConfig('PASSWORD')

        login_to_bluesource(self, _username, _password)
        admin.sync()

        add_new_dept_step = TestStep('Attempt to add a new department')

        admin.admin_menu_bar.navigate_department()

        dept.sync()

        dept.add_dept_btn.scroll_element_to_center().click()
        dept_details.sync()

        dept_details.name_textbox.send_keys(DeptTest._dept_name)
        dept_details.commit_dept_btn.click()
        dept.sync()

        assert dept.dept_creation_msg.is_displayed(), 'Department not created successfully'



        dept.verify_dept_listed(DeptTest._dept_name)


        add_new_dept_step('Complete')
示例#5
0
    def test_delete_title(self):

        admin = AdminLandingPage(self.driver)
        titles = TitlesPage(self.driver)
        delete_title = TitleDetailsPage(self.driver)

        _username = GetConfig('COMPANY_ADMIN')
        _password = GetConfig('PASSWORD')

        login_to_bluesource(self, _username, _password)
        admin.sync()

        delete_title_step = TestStep('Attempt to delete a title.')

        admin.admin_menu_bar.navigate_titles()
        titles.sync()

        assert titles.verify_title_listed(
            TitlesTests._updated_title_name), 'Specified title not listed.'

        titles.delete_title(TitlesTests._updated_title_name
                            ).scroll_element_to_center().click()
        self.driver.switch_to.alert.accept()
        titles.sync()

        assert titles.action_success_msg, 'Title not deleted successfully.'
        assert not (titles.verify_title_listed(TitlesTests._updated_title_name)
                    ), 'Specified title is still listed'

        delete_title_step('Complete')
示例#6
0
    def test_edit_title(self):

        admin = AdminLandingPage(self.driver)
        titles = TitlesPage(self.driver)
        edit_title = TitleDetailsPage(self.driver)

        _username = GetConfig('COMPANY_ADMIN')
        _password = GetConfig('PASSWORD')

        login_to_bluesource(self, _username, _password)
        admin.sync()

        edit_title_step = TestStep('Attempt to edit a title.')

        admin.admin_menu_bar.navigate_titles()
        titles.sync()

        assert titles.verify_title_listed(
            TitlesTests._title_name), 'Specified title not listed.'

        titles.edit_title(
            TitlesTests._title_name).scroll_element_to_center().click()
        edit_title.sync()

        edit_title.title_name_textbox.clear().send_keys(
            TitlesTests._updated_title_name)
        edit_title.commit_title_btn.click()
        titles.sync

        assert titles.action_success_msg, 'Title not edited successfully.'
        assert titles.verify_title_listed(
            TitlesTests._updated_title_name), 'Edited title not listed.'

        edit_title_step('Complete')
示例#7
0
    def test_create_title(self):

        admin = AdminLandingPage(self.driver)
        titles = TitlesPage(self.driver)
        new_title = TitleDetailsPage(self.driver)

        _username = GetConfig('COMPANY_ADMIN')
        _password = GetConfig('PASSWORD')

        login_to_bluesource(self, _username, _password)
        admin.sync()

        create_title_step = TestStep('Attempt to create a title.')

        admin.admin_menu_bar.navigate_titles()
        titles.sync()

        titles.new_title()
        new_title.sync()

        new_title.title_name_textbox.send_keys(TitlesTests._title_name)
        new_title.commit_title_btn.click()
        titles.sync()

        assert titles.action_success_msg, 'Title not created successfully'
        assert titles.verify_title_listed(
            TitlesTests._title_name), 'Title not listed'

        create_title_step('Complete')
示例#8
0
    def test_login_to_bluesource(self):

        _username = GetConfig('COMPANY_ADMIN')
        _password = GetConfig('PASSWORD')

        login_step = TestStep('Attempt login with valid admin credentials')
        login_to_bluesource(self, _username, _password)
        login_step('Complete')

        login_verification = TestStep(
            'Verify user is logged in with admin permissions')
        admin = AdminLandingPage(self.driver)
        admin.sync()
        login_verification('Complete')
示例#9
0
def login_to_bluesource(self, username, password):

    # assign driver and navigate to url
    home = LoginPage(self.driver)
    self.driver.get(self.page_url)
    home.sync()

    # input username and password and submit
    home.username_textbox.send_keys(username)
    home.password_textbox.send_keys(password)
    home.submit_login()

    # verify AdminLandingPage is displayed
    admin = AdminLandingPage(self.driver)
    admin.sync()
示例#10
0
    def test_edit_employee(self):

        admin = AdminLandingPage(self.driver)

        _username = GetConfig('COMPANY_ADMIN')
        _password = GetConfig('PASSWORD')
        _dept_name = GetConfig('DEPT_NAME')
        _title_name = GetConfig('TITLE')

        _employee_username = '******' % (random.randint(0, 9999))
        _employee_first_name = 'First_%d' % (random.randint(0, 9999))
        _employee_last_name = 'Last_%d' % (random.randint(0, 9999))
        _employee_cell_phone = '(804) %d-%d' % (random.randint(
            290, 999), random.randint(1000, 9999))

        _name_string = '%s %s' % (_employee_first_name, _employee_last_name)
        _search_string = '%s, %s, %s' % (
            _employee_first_name, _employee_last_name, _employee_cell_phone)

        login_to_bluesource(self, _username, _password)
        admin.sync()

        assert admin.verify_employee(
            '6', '5', '(804) 749-2525'), 'Employee is not listed.'