Commit f68528d4 by Jesse Zoldak

fix some page definitions

parent 4ddb9a01
""" """
Bok-Choy PageObject class for learner profile page. Bok-Choy PageObject class for learner profile page.
""" """
from . import BASE_URL
from bok_choy.page_object import PageObject from bok_choy.page_object import PageObject
from .fields import FieldsMixin
from bok_choy.promise import EmptyPromise from bok_choy.promise import EmptyPromise
from .instructor_dashboard import InstructorDashboardPage from bok_choy.javascript import wait_for_js, requirejs
from selenium.webdriver import ActionChains from selenium.webdriver import ActionChains
from . import BASE_URL
from .fields import FieldsMixin
from .instructor_dashboard import InstructorDashboardPage
PROFILE_VISIBILITY_SELECTOR = '#u-field-select-account_privacy option[value="{}"]' PROFILE_VISIBILITY_SELECTOR = '#u-field-select-account_privacy option[value="{}"]'
FIELD_ICONS = { FIELD_ICONS = {
...@@ -16,6 +17,7 @@ FIELD_ICONS = { ...@@ -16,6 +17,7 @@ FIELD_ICONS = {
} }
@requirejs('js/student_profile/views/learner_profile_factory')
class LearnerProfilePage(FieldsMixin, PageObject): class LearnerProfilePage(FieldsMixin, PageObject):
""" """
PageObject methods for Learning Profile Page. PageObject methods for Learning Profile Page.
...@@ -39,11 +41,16 @@ class LearnerProfilePage(FieldsMixin, PageObject): ...@@ -39,11 +41,16 @@ class LearnerProfilePage(FieldsMixin, PageObject):
""" """
return BASE_URL + "/u/" + self.username return BASE_URL + "/u/" + self.username
@wait_for_js
def is_browser_on_page(self): def is_browser_on_page(self):
""" """
Check if browser is showing correct page. Check if browser is showing correct page.
""" """
return self.q(css='body.view-profile').present return all([
self.q(css='body.view-profile').present,
self.q(css='page-header').present,
not self.q(css='ui-loading-indicator').visible,
])
@property @property
def privacy(self): def privacy(self):
......
...@@ -10,7 +10,7 @@ from .course_page import CoursePage ...@@ -10,7 +10,7 @@ from .course_page import CoursePage
from bok_choy.javascript import wait_for_js, requirejs from bok_choy.javascript import wait_for_js, requirejs
@requirejs('js/views/assets') @requirejs('js/factories/asset_index')
class AssetIndexPage(CoursePage): class AssetIndexPage(CoursePage):
""" """
...@@ -38,7 +38,11 @@ class AssetIndexPage(CoursePage): ...@@ -38,7 +38,11 @@ class AssetIndexPage(CoursePage):
@wait_for_js @wait_for_js
def is_browser_on_page(self): def is_browser_on_page(self):
return self.q(css='body.view-uploads').present return all([
self.q(css='body.view-uploads').present,
self.q(css='page-header').present,
not self.q(css='div.ui-loading').visible,
])
@wait_for_js @wait_for_js
def type_filter_on_page(self): def type_filter_on_page(self):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment