Commit dca724af by Bastien Abadie Committed by Bastien Abadie

Limit OpenAssessment BaseView scroll to current element. TNL-499

parent 71725bec
...@@ -13,3 +13,4 @@ Andrew Dekker <a.dekker@uq.edu.au> ...@@ -13,3 +13,4 @@ Andrew Dekker <a.dekker@uq.edu.au>
Steven Burch <stv@stanford.edu> Steven Burch <stv@stanford.edu>
Muzaffar Yousaf <muzaffar@edx.org> Muzaffar Yousaf <muzaffar@edx.org>
Usman Khalid <2200617@gmail.com> Usman Khalid <2200617@gmail.com>
Bastien Abadie <bastien@nextcairn.com>
...@@ -38,7 +38,7 @@ OpenAssessment.BaseView.prototype = { ...@@ -38,7 +38,7 @@ OpenAssessment.BaseView.prototype = {
*/ */
scrollToTop: function() { scrollToTop: function() {
if ($.scrollTo instanceof Function) { if ($.scrollTo instanceof Function) {
$(window).scrollTo($("#openassessment__steps"), 800, {offset:-50}); $(window).scrollTo($("#openassessment__steps", this.element), 800, {offset:-50});
} }
}, },
......
...@@ -116,6 +116,11 @@ class AssessmentPage(OpenAssessmentPage): ...@@ -116,6 +116,11 @@ class AssessmentPage(OpenAssessmentPage):
) )
return self.q(css=css_id).is_present() return self.q(css=css_id).is_present()
@property
def is_on_top(self):
pos = self.browser.get_window_position()
return pos['y'] < 100
def assess(self, options_selected): def assess(self, options_selected):
""" """
Create an assessment. Create an assessment.
......
...@@ -103,6 +103,9 @@ class SelfAssessmentTest(OpenAssessmentTest): ...@@ -103,6 +103,9 @@ class SelfAssessmentTest(OpenAssessmentTest):
# Verify the grade # Verify the grade
self.assertEqual(self.grade_page.wait_for_page().score, self.EXPECTED_SCORE) self.assertEqual(self.grade_page.wait_for_page().score, self.EXPECTED_SCORE)
# Check browser scrolled back to top
self.assertTrue(self.self_asmnt_page.is_on_top)
class PeerAssessmentTest(OpenAssessmentTest): class PeerAssessmentTest(OpenAssessmentTest):
""" """
...@@ -169,6 +172,9 @@ class StudentTrainingTest(OpenAssessmentTest): ...@@ -169,6 +172,9 @@ class StudentTrainingTest(OpenAssessmentTest):
self.student_training_page.wait_for_page().wait_for_response().assess(options_selected) self.student_training_page.wait_for_page().wait_for_response().assess(options_selected)
# Check browser scrolled back to top only on first example
self.assertEqual(self.self_asmnt_page.is_on_top, example_num == 0)
# Check that we've completed student training # Check that we've completed student training
try: try:
self.student_training_page.wait_for_complete() self.student_training_page.wait_for_complete()
......
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