diff --git a/common/test/acceptance/pages/lms/login.py b/common/test/acceptance/pages/lms/login.py index 3e7ae3cf5d..b4ca17716c 100644 --- a/common/test/acceptance/pages/lms/login.py +++ b/common/test/acceptance/pages/lms/login.py @@ -5,6 +5,7 @@ Login page for the LMS. from bok_choy.page_object import PageObject from bok_choy.promise import EmptyPromise from . import BASE_URL +from .dashboard import DashboardPage class LoginPage(PageObject): @@ -24,29 +25,28 @@ class LoginPage(PageObject): """ Attempt to log in using `email` and `password`. """ + self.provide_info(email, password) + self.submit() + def provide_info(self, email, password): + """ + Fill in login info. + `email` and `password` are the user's credentials. + """ EmptyPromise(self.q(css='input#email').is_present, "Click ready").fulfill() EmptyPromise(self.q(css='input#password').is_present, "Click ready").fulfill() self.q(css='input#email').fill(email) self.q(css='input#password').fill(password) - self.q(css='button#submit').click() + self.wait_for_ajax() - EmptyPromise( - lambda: "login" not in self.browser.url, - "redirected from the login page" - ) + def submit(self): + """ + Submit registration info to create an account. + """ + self.q(css='button#submit').first.click() -""" - # Ensure that we make it to another page - on_next_page = EmptyPromise( - lambda: "login" not in self.browser.url, - "redirected from the login page" - ) - - with fulfill_after(on_next_page): - self.css_fill('input#email', email) - self.css_fill('input#password', password) - self.css_click('button#submit') - -""" + # The next page is the dashboard; make sure it loads + dashboard = DashboardPage(self.browser) + dashboard.wait_for_page() + return dashboard diff --git a/common/test/acceptance/pages/lms/progress.py b/common/test/acceptance/pages/lms/progress.py index 2d4bd3e387..8ded57ba72 100644 --- a/common/test/acceptance/pages/lms/progress.py +++ b/common/test/acceptance/pages/lms/progress.py @@ -1,7 +1,6 @@ """ Student progress page """ - from .course_page import CoursePage @@ -12,11 +11,12 @@ class ProgressPage(CoursePage): url_path = "progress" - #@property def is_browser_on_page(self): - has_course_info = self.q(css='div.course-info').present - has_graph = self.q(css='div#grade-detail-graph').present - return has_course_info and has_graph + is_present = ( + self.q(css='div.course-info').present and + self.q(css='div#grade-detail-graph').present + ) + return is_present def scores(self, chapter, section): """ diff --git a/common/test/acceptance/pages/studio/login.py b/common/test/acceptance/pages/studio/login.py index e997aeb11a..37ddd6d35a 100644 --- a/common/test/acceptance/pages/studio/login.py +++ b/common/test/acceptance/pages/studio/login.py @@ -28,6 +28,6 @@ class LoginPage(PageObject): # Ensure that we make it to another page EmptyPromise( - lambda: "login" not in self.browser.url, + lambda: "login" not in self.browser.current_url, "redirected from the login page" ).fulfill() diff --git a/requirements/edx/github.txt b/requirements/edx/github.txt index 0f04b0029b..e77b8a9e1f 100644 --- a/requirements/edx/github.txt +++ b/requirements/edx/github.txt @@ -23,10 +23,10 @@ -e git+https://github.com/edx/js-test-tool.git@v0.1.5#egg=js_test_tool -e git+https://github.com/edx/django-waffle.git@823a102e48#egg=django-waffle -e git+https://github.com/edx/event-tracking.git@f0211d702d#egg=event-tracking --e git+https://github.com/edx/bok-choy.git@25a47b3bf87c503fc4996e52addac83b42ec6f38#egg=bok_choy +-e git+https://github.com/edx/bok-choy.git@82b4e82d79b9d4c6d087ebbfa26ea23235728e62#egg=bok_choy -e git+https://github.com/edx-solutions/django-splash.git@9965a53c269666a30bb4e2b3f6037c138aef2a55#egg=django-splash -e git+https://github.com/edx/acid-block.git@459aff7b63db8f2c5decd1755706c1a64fb4ebb1#egg=acid-xblock -e git+https://github.com/edx/edx-ora2.git@release-2014-04-14#egg=edx-ora2 -# Prototype XBlocks for limited roll-outs and user testing. These are not for general use. +# Prototype XBlocks for limited roll-outs and user testing. These are not for general use. -e git+https://github.com/pmitros/ConceptXBlock.git@2376fde9ebdd83684b78dde77ef96361c3bd1aa0#egg=concept-xblock