Commit b1fc977d by dragonfi

Tune tests so that they run on edx-solutions

parent 86307966
...@@ -53,17 +53,19 @@ class AnswerBlockTest(MentoringBaseTest): ...@@ -53,17 +53,19 @@ class AnswerBlockTest(MentoringBaseTest):
# Initial unsubmitted text # Initial unsubmitted text
answer1 = mentoring.find_element_by_css_selector('textarea') answer1 = mentoring.find_element_by_css_selector('textarea')
self.assertEqual(answer1.text, '') self.assertEqual(answer1.text, '')
progress = mentoring.find_element_by_css_selector('.progress > .indicator') # TODO: progress indicator element not available
self.assertEqual(progress.text, '') #progress = mentoring.find_element_by_css_selector('.progress > .indicator')
self.assertFalse(progress.find_elements_by_xpath('./*')) #self.assertEqual(progress.text, '')
#self.assertFalse(progress.find_elements_by_xpath('./*'))
# Submit without answer # Submit without answer
submit = mentoring.find_element_by_css_selector('input.submit') submit = mentoring.find_element_by_css_selector('.submit input.input-main')
submit.click() submit.click()
self.assertEqual(answer1.get_attribute('value'), '') self.assertEqual(answer1.get_attribute('value'), '')
# TODO: Cannot test rejection of partial answers, as partial answers # TODO: Cannot test rejection of partial answers, as partial answers
# are allowed when dependencies are not enforced, even if the block # are allowed when dependencies are not enforced, even if the block
# reports non-completion. # reports non-completion.
# TODO: Besides, element no longer available
#self.assertEqual(progress.text, '(Not completed)') #self.assertEqual(progress.text, '(Not completed)')
#self.assertFalse(progress.find_elements_by_xpath('./*')) #self.assertFalse(progress.find_elements_by_xpath('./*'))
...@@ -72,8 +74,9 @@ class AnswerBlockTest(MentoringBaseTest): ...@@ -72,8 +74,9 @@ class AnswerBlockTest(MentoringBaseTest):
submit.click() submit.click()
self.assertEqual(answer1.get_attribute('value'), 'This is the answer') self.assertEqual(answer1.get_attribute('value'), 'This is the answer')
self.assertEqual(progress.text, '') # TODO: element no longer available
self.assertTrue(progress.find_elements_by_css_selector('img')) #self.assertEqual(progress.text, '')
#self.assertTrue(progress.find_elements_by_css_selector('img'))
# Answer content should show on a different instance with the same name # Answer content should show on a different instance with the same name
mentoring = self.go_to_page('Answer Edit 2') mentoring = self.go_to_page('Answer Edit 2')
...@@ -90,12 +93,13 @@ class AnswerBlockTest(MentoringBaseTest): ...@@ -90,12 +93,13 @@ class AnswerBlockTest(MentoringBaseTest):
mentoring = self.go_to_page('Answer Blank Read Only') mentoring = self.go_to_page('Answer Blank Read Only')
answer = mentoring.find_element_by_css_selector('blockquote.answer.read_only') answer = mentoring.find_element_by_css_selector('blockquote.answer.read_only')
self.assertEqual(answer.text, '') self.assertEqual(answer.text, '')
progress = mentoring.find_element_by_css_selector('.progress > .indicator') # TODO: progress indicator element not available
self.assertEqual(progress.text, '') #progress = mentoring.find_element_by_css_selector('.progress > .indicator')
#self.assertEqual(progress.text, '')
# Submit should allow to complete # Submit should allow to complete
submit = mentoring.find_element_by_css_selector('input.submit') submit = mentoring.find_element_by_css_selector('.submit input.input-main')
submit.click() submit.click()
self.assertEqual(progress.text, '') #self.assertEqual(progress.text, '')
self.assertTrue(progress.find_elements_by_css_selector('img')) #self.assertTrue(progress.find_elements_by_css_selector('img'))
...@@ -23,6 +23,8 @@ ...@@ -23,6 +23,8 @@
# Imports ########################################################### # Imports ###########################################################
import time
from mentoring.test_base import MentoringBaseTest from mentoring.test_base import MentoringBaseTest
...@@ -51,43 +53,32 @@ class MentoringProgressionTest(MentoringBaseTest): ...@@ -51,43 +53,32 @@ class MentoringProgressionTest(MentoringBaseTest):
# Initial - Step 1 ok, steps 2&3 redirect to step 1 # Initial - Step 1 ok, steps 2&3 redirect to step 1
mentoring = self.go_to_page('Progression 1') mentoring = self.go_to_page('Progression 1')
self.assert_warning_is_hidden(mentoring) self.assert_warning_is_hidden(mentoring)
submit = mentoring.find_element_by_css_selector('.submit input.input-main')
self.assertFalse(submit.is_enabled())
mentoring = self.go_to_page('Progression 2') mentoring = self.go_to_page('Progression 2')
warning = mentoring.find_element_by_css_selector('.warning') warning = mentoring.find_element_by_css_selector('.warning')
self.assert_warning(warning, '/jump_to_id/mentoring_first') self.assert_warning(warning, '/jump_to_id/mentoring_first')
submit = mentoring.find_element_by_css_selector('.submit input.input-main')
self.assertFalse(submit.is_enabled())
mentoring = self.go_to_page('Progression 3') mentoring = self.go_to_page('Progression 3')
warning = mentoring.find_element_by_css_selector('.warning') warning = mentoring.find_element_by_css_selector('.warning')
self.assert_warning(warning, '/jump_to_id/mentoring_first') self.assert_warning(warning, '/jump_to_id/mentoring_first')
submit = mentoring.find_element_by_css_selector('.submit input.input-main')
# Submit step 1 without completing it - no change should be registered self.assertFalse(submit.is_enabled())
mentoring = self.go_to_page('Progression 1')
submit = mentoring.find_element_by_css_selector('input.submit')
submit.click()
self.assert_warning_is_hidden(mentoring)
progress = mentoring.find_element_by_css_selector('.progress > .indicator')
self.assertEqual(progress.text, '')
self.assertFalse(progress.find_elements_by_xpath('./*'))
mentoring = self.go_to_page('Progression 2')
warning = mentoring.find_element_by_css_selector('.warning')
self.assert_warning(warning, '/jump_to_id/mentoring_first')
mentoring = self.go_to_page('Progression 3')
warning = mentoring.find_element_by_css_selector('.warning')
self.assert_warning(warning, '/jump_to_id/mentoring_first')
# Should be impossible to complete step 2 # Should be impossible to complete step 2
mentoring = self.go_to_page('Progression 2') mentoring = self.go_to_page('Progression 2')
answer = mentoring.find_element_by_css_selector('textarea') answer = mentoring.find_element_by_css_selector('textarea')
answer.send_keys('This is the answer') answer.send_keys('This is the answer')
submit = mentoring.find_element_by_css_selector('input.submit') submit = mentoring.find_element_by_css_selector('.submit input.input-main')
submit.click() submit.click()
time.sleep(1)
progress = mentoring.find_element_by_css_selector('.progress > .indicator') #progress = mentoring.find_element_by_css_selector('.progress > .indicator')
self.assertEqual(progress.text, '') #self.assertEqual(progress.text, '')
self.assertFalse(progress.find_elements_by_xpath('./*')) #self.assertFalse(progress.find_elements_by_xpath('./*'))
mentoring = self.go_to_page('Progression 2') mentoring = self.go_to_page('Progression 2')
warning = mentoring.find_element_by_css_selector('.warning') warning = mentoring.find_element_by_css_selector('.warning')
...@@ -101,29 +92,32 @@ class MentoringProgressionTest(MentoringBaseTest): ...@@ -101,29 +92,32 @@ class MentoringProgressionTest(MentoringBaseTest):
mentoring = self.go_to_page('Progression 1') mentoring = self.go_to_page('Progression 1')
answer = mentoring.find_element_by_css_selector('textarea') answer = mentoring.find_element_by_css_selector('textarea')
answer.send_keys('This is the answer') answer.send_keys('This is the answer')
submit = mentoring.find_element_by_css_selector('input.submit') submit = mentoring.find_element_by_css_selector('.submit input.input-main')
submit.click() submit.click()
self.assert_warning_is_hidden(mentoring) self.assert_warning_is_hidden(mentoring)
time.sleep(1)
progress = mentoring.find_element_by_css_selector('.progress > .indicator') #progress = mentoring.find_element_by_css_selector('.progress > .indicator')
self.assertEqual(progress.text, '') #self.assertEqual(progress.text, '')
self.assertTrue(progress.find_elements_by_css_selector('img')) #self.assertTrue(progress.find_elements_by_css_selector('img'))
mentoring = self.go_to_page('Progression 2') mentoring = self.go_to_page('Progression 2')
self.assert_warning_is_hidden(mentoring) self.assert_warning_is_hidden(mentoring)
mentoring = self.go_to_page('Progression 3') mentoring = self.go_to_page('Progression 3')
warning = mentoring.find_element_by_css_selector('.warning') warning = mentoring.find_element_by_css_selector('.warning')
self.assert_warning(warning, '/jump_to_id/progression_2') self.assert_warning(warning, '/jump_to_id/progression_2')
# Complete step 2 - no more warnings anywhere # Complete step 2 - no more warnings anywhere
mentoring = self.go_to_page('Progression 2') mentoring = self.go_to_page('Progression 2')
submit = mentoring.find_element_by_css_selector('input.submit') submit = mentoring.find_element_by_css_selector('.submit input.input-main')
submit.click() # Already filled the textarea in previous step submit.click() # Already filled the textarea in previous step
time.sleep(1)
progress = mentoring.find_element_by_css_selector('.progress > .indicator') #progress = mentoring.find_element_by_css_selector('.progress > .indicator')
self.assertEqual(progress.text, '') #self.assertEqual(progress.text, '')
self.assertTrue(progress.find_elements_by_css_selector('img')) #self.assertTrue(progress.find_elements_by_css_selector('img'))
mentoring = self.go_to_page('Progression 1') mentoring = self.go_to_page('Progression 1')
self.assert_warning_is_hidden(mentoring) self.assert_warning_is_hidden(mentoring)
...@@ -138,10 +132,10 @@ class MentoringProgressionTest(MentoringBaseTest): ...@@ -138,10 +132,10 @@ class MentoringProgressionTest(MentoringBaseTest):
mentoring = self.go_to_page('Progression 3') mentoring = self.go_to_page('Progression 3')
answer = mentoring.find_element_by_css_selector('textarea') answer = mentoring.find_element_by_css_selector('textarea')
answer.send_keys('This is the answer') answer.send_keys('This is the answer')
submit = mentoring.find_element_by_css_selector('input.submit') submit = mentoring.find_element_by_css_selector('.submit input.input-main')
submit.click() submit.click()
progress = mentoring.find_element_by_css_selector('.progress > .indicator') #progress = mentoring.find_element_by_css_selector('.progress > .indicator')
self.assertEqual(progress.text, '') #self.assertEqual(progress.text, '')
self.assertTrue(progress.find_elements_by_css_selector('img')) #self.assertTrue(progress.find_elements_by_css_selector('img'))
...@@ -48,7 +48,7 @@ class MentoringTableBlockTest(MentoringBaseTest): ...@@ -48,7 +48,7 @@ class MentoringTableBlockTest(MentoringBaseTest):
answers = mentoring.find_elements_by_css_selector('textarea') answers = mentoring.find_elements_by_css_selector('textarea')
answers[0].send_keys('This is the answer #1') answers[0].send_keys('This is the answer #1')
answers[1].send_keys('This is the answer #2') answers[1].send_keys('This is the answer #2')
submit = mentoring.find_element_by_css_selector('input.submit') submit = mentoring.find_element_by_css_selector('.submit input.input-main')
submit.click() submit.click()
table = self.go_to_page('Table 2', css_selector='.mentoring-table') table = self.go_to_page('Table 2', css_selector='.mentoring-table')
......
<vertical> <vertical_demo>
<mentoring url_name="mentoring-87043a1f-f14a-4813-b89f-3e051939a7ee" display_name="MRQ Exercise 7" weight="1"> <mentoring url_name="mcq_with_comments" display_name="MRQ Exercise 7" weight="1" enforce_dependency="false">
<title>MRQ With Resizable popups</title> <title>MRQ With Resizable popups</title>
<mrq name="mrq_1_1_7" type="choices"> <mrq name="mrq_1_1_7" type="choices">
<question>What do you like in this MRQ?</question> <question>What do you like in this MRQ?</question>
...@@ -12,8 +12,6 @@ ...@@ -12,8 +12,6 @@
<tip require="elegance" width ="600" height = "800">This is something everyone has to like about this MRQ</tip> <tip require="elegance" width ="600" height = "800">This is something everyone has to like about this MRQ</tip>
<tip require="beauty" width ="400" height = "600">This is something everyone has to like about beauty</tip> <tip require="beauty" width ="400" height = "600">This is something everyone has to like about beauty</tip>
<tip reject="bugs" width = "100" height = "200">Nah, there isn\'t any!</tip> <tip reject="bugs" width = "100" height = "200">Nah, there isn\'t any!</tip>
<!--<message type="on-submit">Thank you for answering!</message> -->
</mrq> </mrq>
<message type="completed"> <message type="completed">
...@@ -23,4 +21,4 @@ ...@@ -23,4 +21,4 @@
<html><p>Still some work to do...</p></html> <html><p>Still some work to do...</p></html>
</message> </message>
</mentoring> </mentoring>
</vertical> </vertical_demo>
<vertical_demo> <vertical_demo>
<mentoring url_name="mentoring_first" followed_by="progression_2"> <mentoring url_name="mentoring_first" followed_by="progression_2" enforce_dependency="true">
<answer name="progression_1_answer" /> <answer name="progression_1_answer" />
</mentoring> </mentoring>
</vertical_demo> </vertical_demo>
<vertical_demo> <vertical_demo>
<mentoring url_name="progression_2" followed_by="progression_3"> <mentoring url_name="progression_2" followed_by="progression_3" enforce_dependency="true">
<answer name="progression_2_answer" /> <answer name="progression_2_answer" />
</mentoring> </mentoring>
</vertical_demo> </vertical_demo>
<vertical_demo> <vertical_demo>
<mentoring url_name="progression_3"> <mentoring url_name="progression_3" enforce_dependency="true">
<answer name="progression_3_answer" /> <answer name="progression_3_answer" />
</mentoring> </mentoring>
</vertical_demo> </vertical_demo>
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