Пример #1
0
    def test_editing_of_existing_suite_that_has_no_included_cases(
            self, mozwebqa_logged_in, product):
        #create suite and cases
        suite = self.create_suite(mozwebqa_logged_in, product, use_API=True)
        cases = self.create_bulk_cases(mozwebqa_logged_in,
                                       product,
                                       use_API=True,
                                       cases_amount=3)

        # simulate random order of cases
        case_list = [cases[i]['name'] for i in (2, 0, 1)]

        manage_suites_pg = MozTrapManageSuitesPage(mozwebqa_logged_in)
        manage_suites_pg.go_to_manage_suites_page()
        manage_suites_pg.filter_form.filter_by(lookup='name',
                                               value=suite['name'])
        edit_suite_pg = manage_suites_pg.edit_suite(name=suite['name'])

        # product field should not be read-only.
        Assert.false(edit_suite_pg.is_product_field_readonly,
                     u'product version field should be editable')

        edit_suite_pg.include_cases_to_suite(case_list)

        manage_suites_pg.filter_form.filter_by(lookup='name',
                                               value=suite['name'])
        edit_suite_pg = manage_suites_pg.edit_suite(name=suite['name'])

        Assert.true(edit_suite_pg.is_product_field_readonly,
                    u'product version field should be read-only')

        Assert.equal([item.name for item in edit_suite_pg.included_cases],
                     case_list, u'items are listed in wrong order')
Пример #2
0
    def test_editing_of_existing_suite_that_has_no_included_cases(
            self, api, base_url, selenium, login, product):
        # create suite and cases
        suite = self.create_suite(base_url, selenium, product, api=api)
        cases = self.create_bulk_cases(base_url,
                                       selenium,
                                       product,
                                       api=api,
                                       cases_amount=3)

        # simulate random order of cases
        case_list = [cases[i]['name'] for i in (2, 0, 1)]

        manage_suites_pg = MozTrapManageSuitesPage(base_url, selenium)
        manage_suites_pg.go_to_manage_suites_page()
        manage_suites_pg.filter_form.filter_by(lookup='name',
                                               value=suite['name'])
        edit_suite_pg = manage_suites_pg.edit_suite(name=suite['name'])

        # product field should not be read-only.
        assert not edit_suite_pg.is_product_field_readonly

        edit_suite_pg.include_cases_to_suite(case_list)

        edit_suite_pg = manage_suites_pg.edit_suite(name=suite['name'])

        assert edit_suite_pg.is_product_field_readonly
        assert case_list == [
            item.name for item in edit_suite_pg.included_cases
        ]
    def test_editing_of_existing_suite_that_has_no_included_cases(self, mozwebqa_logged_in, product):
        #create suite and cases
        suite = self.create_suite(mozwebqa_logged_in, product, use_API=True)
        cases = self.create_bulk_cases(mozwebqa_logged_in, product, use_API=True, cases_amount=3)

        # simulate random order of cases
        case_list = [cases[i]['name'] for i in (2, 0, 1)]

        manage_suites_pg = MozTrapManageSuitesPage(mozwebqa_logged_in)
        manage_suites_pg.go_to_manage_suites_page()
        manage_suites_pg.filter_form.filter_by(lookup='name', value=suite['name'])
        edit_suite_pg = manage_suites_pg.edit_suite(name=suite['name'])

        # product field should not be read-only.
        Assert.false(
            edit_suite_pg.is_product_field_readonly,
            u'product version field should be editable')

        edit_suite_pg.include_cases_to_suite(case_list)
        manage_suites_pg.filter_form.filter_by(lookup='name', value=suite['name'])
        edit_suite_pg = manage_suites_pg.edit_suite(name=suite['name'])

        Assert.true(
            edit_suite_pg.is_product_field_readonly,
            u'product version field should be read-only')

        Assert.equal(
            [item.name for item in edit_suite_pg.included_cases], case_list,
            u'items are listed in wrong order')
    def test_editing_of_existing_suite_that_includes_cases(self, mozwebqa_logged_in, product):
        # create suite and cases (both included and not included into suite)
        included_cases = self.create_bulk_cases(mozwebqa_logged_in, product, use_API=True, cases_amount=2)
        not_included_cases = self.create_bulk_cases(mozwebqa_logged_in, product, use_API=True, cases_amount=3)
        suite = self.create_suite(mozwebqa_logged_in, product, use_API=True, case_list=[case for case in included_cases])

        # filter by suite name and go to edit suite page
        manage_suites_pg = MozTrapManageSuitesPage(mozwebqa_logged_in)
        manage_suites_pg.go_to_manage_suites_page()
        manage_suites_pg.filter_form.filter_by(lookup='name', value=suite['name'])
        edit_suite_pg = manage_suites_pg.edit_suite(name=suite['name'])

        Assert.true(
            edit_suite_pg.is_product_field_readonly,
            u'product version field should be read only')

        # check list of available cases
        actual_available_cases = [item.name for item in edit_suite_pg.available_cases]
        expected_available_cases = [item['name'] for item in not_included_cases]
        Assert.equal(actual_available_cases, expected_available_cases)

        # check list of included cases
        actual_included_cases = [item.name for item in edit_suite_pg.included_cases]
        expected_included_cases = [item['name'] for item in included_cases]
        Assert.equal(actual_included_cases, expected_included_cases)

        # get all cases names and make random order via random.shuffle
        all_cases = expected_available_cases + expected_included_cases
        random.shuffle(all_cases)

        # include cases to suite in the expected order
        edit_suite_pg.remove_all_included_cases()
        edit_suite_pg.include_cases_to_suite(all_cases)

        # re-edit the same suite
        manage_suites_pg.filter_form.filter_by(lookup='name', value=suite['name'])
        edit_suite_pg = manage_suites_pg.edit_suite(name=suite['name'])

        # and ensure that included cases are listed in right order
        Assert.equal(
            [item.name for item in edit_suite_pg.included_cases], all_cases,
            u'items are listed in wrong order')
    def test_editing_of_existing_suite_that_has_no_included_cases(self, api, base_url, selenium, login, product):
        # create suite and cases
        suite = self.create_suite(base_url, selenium, product, api=api)
        cases = self.create_bulk_cases(base_url, selenium, product, api=api, cases_amount=3)

        # simulate random order of cases
        case_list = [cases[i]['name'] for i in (2, 0, 1)]

        manage_suites_pg = MozTrapManageSuitesPage(base_url, selenium)
        manage_suites_pg.go_to_manage_suites_page()
        manage_suites_pg.filter_form.filter_by(lookup='name', value=suite['name'])
        edit_suite_pg = manage_suites_pg.edit_suite(name=suite['name'])

        # product field should not be read-only.
        assert not edit_suite_pg.is_product_field_readonly

        edit_suite_pg.include_cases_to_suite(case_list)

        edit_suite_pg = manage_suites_pg.edit_suite(name=suite['name'])

        assert edit_suite_pg.is_product_field_readonly
        assert case_list == [item.name for item in edit_suite_pg.included_cases]
    def test_editing_of_existing_suite_that_includes_cases(self, api, base_url, selenium, login, product):
        # create suite and cases (both included and not included into suite)
        included_cases = self.create_bulk_cases(base_url, selenium, product, api=api, cases_amount=2)
        not_included_cases = self.create_bulk_cases(base_url, selenium, product, api=api, cases_amount=3)
        suite = self.create_suite(base_url, selenium, product, api=api, case_list=[case for case in included_cases])

        # filter by suite name and go to edit suite page
        manage_suites_pg = MozTrapManageSuitesPage(base_url, selenium)
        manage_suites_pg.go_to_manage_suites_page()
        manage_suites_pg.filter_form.filter_by(lookup='name', value=suite['name'])
        edit_suite_pg = manage_suites_pg.edit_suite(name=suite['name'])

        assert edit_suite_pg.is_product_field_readonly

        # check list of available cases
        actual_available_cases = [item.name for item in edit_suite_pg.available_cases]
        expected_available_cases = [item['name'] for item in not_included_cases]
        assert expected_available_cases == actual_available_cases

        # check list of included cases
        actual_included_cases = [item.name for item in edit_suite_pg.included_cases]
        expected_included_cases = [item['name'] for item in included_cases]
        assert expected_included_cases == actual_included_cases

        # get all cases names and make random order via random.shuffle
        all_cases = expected_available_cases + expected_included_cases
        random.shuffle(all_cases)

        # include cases to suite in the expected order
        edit_suite_pg.remove_all_included_cases()
        edit_suite_pg.include_cases_to_suite(all_cases)

        # re-edit the same suite
        edit_suite_pg = manage_suites_pg.edit_suite(name=suite['name'])

        # and ensure that included cases are listed in right order
        assert all_cases == [item.name for item in edit_suite_pg.included_cases]
Пример #7
0
                                                    selenium,
                                                    product,
                                                    api=api,
                                                    cases_amount=3)
        suite = self.create_suite(base_url,
                                  selenium,
                                  product,
                                  api=api,
                                  case_list=[case for case in included_cases])

        # filter by suite name and go to edit suite page
        manage_suites_pg = MozTrapManageSuitesPage(base_url, selenium)
        manage_suites_pg.go_to_manage_suites_page()
        manage_suites_pg.filter_form.filter_by(lookup='name',
                                               value=suite['name'])
        edit_suite_pg = manage_suites_pg.edit_suite(name=suite['name'])

        assert edit_suite_pg.is_product_field_readonly

        # check list of available cases
        actual_available_cases = [
            item.name for item in edit_suite_pg.available_cases
        ]
        expected_available_cases = [
            item['name'] for item in not_included_cases
        ]
        assert expected_available_cases == actual_available_cases

        # check list of included cases
        actual_included_cases = [
            item.name for item in edit_suite_pg.included_cases