Merge pull request #6067 from mlkwaqas/waqas/tnl107-changing-pages-not-reposition
In user profile changing page should reposition window to top
This commit is contained in:
@@ -37,6 +37,7 @@ if Backbone?
|
|||||||
@numPages = response.num_pages
|
@numPages = response.num_pages
|
||||||
@discussion.reset(response.discussion_data, {silent: false})
|
@discussion.reset(response.discussion_data, {silent: false})
|
||||||
history.pushState({}, "", url)
|
history.pushState({}, "", url)
|
||||||
|
$("html, body").animate({ scrollTop: 0 });
|
||||||
error: =>
|
error: =>
|
||||||
DiscussionUtil.discussionAlert(
|
DiscussionUtil.discussionAlert(
|
||||||
gettext("Sorry"),
|
gettext("Sorry"),
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
from contextlib import contextmanager
|
from contextlib import contextmanager
|
||||||
|
|
||||||
|
from bok_choy.javascript import wait_for_js
|
||||||
from bok_choy.page_object import PageObject
|
from bok_choy.page_object import PageObject
|
||||||
from bok_choy.promise import EmptyPromise, Promise
|
from bok_choy.promise import EmptyPromise, Promise
|
||||||
|
|
||||||
@@ -343,6 +344,10 @@ class DiscussionUserProfilePage(CoursePage):
|
|||||||
self.q(css='section.user-profile div.sidebar-username').text[0] == self.username
|
self.q(css='section.user-profile div.sidebar-username').text[0] == self.username
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@wait_for_js
|
||||||
|
def is_window_on_top(self):
|
||||||
|
return self.browser.execute_script("return $('html, body').offset().top") == 0
|
||||||
|
|
||||||
def get_shown_thread_ids(self):
|
def get_shown_thread_ids(self):
|
||||||
elems = self.q(css="article.discussion-thread")
|
elems = self.q(css="article.discussion-thread")
|
||||||
return [elem.get_attribute("id")[7:] for elem in elems]
|
return [elem.get_attribute("id")[7:] for elem in elems]
|
||||||
|
|||||||
@@ -419,6 +419,7 @@ class DiscussionUserProfileTest(UniqueCourseTest):
|
|||||||
current_page = 1
|
current_page = 1
|
||||||
total_pages = max(num_threads - 1, 1) / self.PAGE_SIZE + 1
|
total_pages = max(num_threads - 1, 1) / self.PAGE_SIZE + 1
|
||||||
all_pages = range(1, total_pages + 1)
|
all_pages = range(1, total_pages + 1)
|
||||||
|
return page
|
||||||
|
|
||||||
def _check_page():
|
def _check_page():
|
||||||
# ensure the page being displayed as "current" is the expected one
|
# ensure the page being displayed as "current" is the expected one
|
||||||
@@ -479,6 +480,12 @@ class DiscussionUserProfileTest(UniqueCourseTest):
|
|||||||
def test_151_threads(self):
|
def test_151_threads(self):
|
||||||
self.check_pages(151)
|
self.check_pages(151)
|
||||||
|
|
||||||
|
def test_pagination_window_reposition(self):
|
||||||
|
page = self.check_pages(50)
|
||||||
|
page.click_next_page()
|
||||||
|
page.wait_for_ajax()
|
||||||
|
self.assertTrue(page.is_window_on_top())
|
||||||
|
|
||||||
|
|
||||||
@attr('shard_1')
|
@attr('shard_1')
|
||||||
class DiscussionSearchAlertTest(UniqueCourseTest):
|
class DiscussionSearchAlertTest(UniqueCourseTest):
|
||||||
|
|||||||
Reference in New Issue
Block a user