def _test_can_access(self, page, user=None, can_access=True):
        _url = page.driver.current_url
        _title = page.title
        _id = page.id

        page.close()

        if user:
            page = LoginPage().log_in(user)
            page.driver.get(_url)

            if can_access:
                page = ProjectPage(driver=page.driver)
                self.assertEqual(page.title, _title)
            else:
                with self.assertRaises(PageException):
                    page = ProjectPage(driver=page.driver)
                    self.assertNotEqual(page.title, _title)

            page.close()
        else:
            if can_access:
                page = NodePage(url=_url)
                page.close()
            else:
                with self.assertRaises(PageException):
                    ProjectPage(id=_id)
    def _test_can_access(self, page, user=None, can_access=True):
        _url = page.driver.current_url
        _title = page.title
        _id = page.id

        page.close()

        if user:
            page = LoginPage().log_in(user)
            page.driver.get(_url)

            if can_access:
                page = ProjectPage(driver=page.driver)
                self.assertEqual(page.title, _title)
            else:
                with self.assertRaises(PageException):
                    page = ProjectPage(driver=page.driver)
                    self.assertNotEqual(page.title, _title)

            page.close()
        else:
            if can_access:
                page = NodePage(url=_url)
                page.close()
            else:
                with self.assertRaises(PageException):
                    ProjectPage(id=_id)
    def _test_add_contributor_access(self, page):
        _url = page.driver.current_url
        second_user = helpers.create_user()

        page.add_contributor(second_user)

        self.assertIn(
            second_user.full_name,
            [x.full_name for x in page.contributors]
        )

        page.close()

        page = LoginPage()
        page.log_in(second_user)

        page.driver.get(_url)

        page = ProjectPage(driver=page.driver)

        self.assertIn(
            second_user.full_name,
            [x.full_name for x in page.contributors],
        )

        page.close()
Exemplo n.º 4
0
    def __init__(self, headless, url):
        options: Options = Options()
        if headless:
            options.add_argument("--headless")
        self.url = url

        chrome_options = webdriver.ChromeOptions()
        self.driver = webdriver.Remote(
            command_executor="http://localhost:4444/wd/hub",
            options=chrome_options)
        self.login = LoginPage(self)
        self.product_list = ProductList(self)
        self.product = ProductPage(self)
        self.cart = CartPage(self)
        self.checkout = CheckoutPage(self)
        self.overview = OverviewPage(self)
        self.order_confirmation = OrderConfirmationPage(self)
        self.left_menu = LeftMenuPage(self)
        self.cart_icon = CartIconElement(self)
    def _test_add_contributor_access(self, page):
        _url = page.driver.current_url
        second_user = helpers.create_user()

        page.add_contributor(second_user)

        self.assertIn(second_user.full_name,
                      [x.full_name for x in page.contributors])

        page.close()

        page = LoginPage()
        page.log_in(second_user)

        page.driver.get(_url)

        page = ProjectPage(driver=page.driver)

        self.assertIn(
            second_user.full_name,
            [x.full_name for x in page.contributors],
        )

        page.close()
Exemplo n.º 6
0
 def user_login(self):
     # TODO: property changes state
     from pages.auth import LoginPage
     self.driver.get('{}/account'.format(config.osf_home))
     return LoginPage(driver=self.driver)