Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
problem-builder
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenEdx
problem-builder
Commits
b1fc977d
Commit
b1fc977d
authored
Sep 20, 2014
by
dragonfi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Tune tests so that they run on edx-solutions
parent
86307966
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
50 additions
and
54 deletions
+50
-54
tests/integration/test_answer.py
+15
-11
tests/integration/test_mcq.py
+0
-0
tests/integration/test_progression.py
+28
-34
tests/integration/test_table.py
+1
-1
tests/integration/xml/mcq_with_comments_1.xml
+3
-5
tests/integration/xml/progression_1.xml
+1
-1
tests/integration/xml/progression_2.xml
+1
-1
tests/integration/xml/progression_3.xml
+1
-1
No files found.
tests/integration/test_answer.py
View file @
b1fc977d
...
...
@@ -53,17 +53,19 @@ class AnswerBlockTest(MentoringBaseTest):
# Initial unsubmitted text
answer1
=
mentoring
.
find_element_by_css_selector
(
'textarea'
)
self
.
assertEqual
(
answer1
.
text
,
''
)
progress
=
mentoring
.
find_element_by_css_selector
(
'.progress > .indicator'
)
self
.
assertEqual
(
progress
.
text
,
''
)
self
.
assertFalse
(
progress
.
find_elements_by_xpath
(
'./*'
))
# TODO: progress indicator element not available
#progress = mentoring.find_element_by_css_selector('.progress > .indicator')
#self.assertEqual(progress.text, '')
#self.assertFalse(progress.find_elements_by_xpath('./*'))
# 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
()
self
.
assertEqual
(
answer1
.
get_attribute
(
'value'
),
''
)
# TODO: Cannot test rejection of partial answers, as partial answers
# are allowed when dependencies are not enforced, even if the block
# reports non-completion.
# TODO: Besides, element no longer available
#self.assertEqual(progress.text, '(Not completed)')
#self.assertFalse(progress.find_elements_by_xpath('./*'))
...
...
@@ -72,8 +74,9 @@ class AnswerBlockTest(MentoringBaseTest):
submit
.
click
()
self
.
assertEqual
(
answer1
.
get_attribute
(
'value'
),
'This is the answer'
)
self
.
assertEqual
(
progress
.
text
,
''
)
self
.
assertTrue
(
progress
.
find_elements_by_css_selector
(
'img'
))
# TODO: element no longer available
#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
mentoring
=
self
.
go_to_page
(
'Answer Edit 2'
)
...
...
@@ -90,12 +93,13 @@ class AnswerBlockTest(MentoringBaseTest):
mentoring
=
self
.
go_to_page
(
'Answer Blank Read Only'
)
answer
=
mentoring
.
find_element_by_css_selector
(
'blockquote.answer.read_only'
)
self
.
assertEqual
(
answer
.
text
,
''
)
progress
=
mentoring
.
find_element_by_css_selector
(
'.progress > .indicator'
)
self
.
assertEqual
(
progress
.
text
,
''
)
# TODO: progress indicator element not available
#progress = mentoring.find_element_by_css_selector('.progress > .indicator')
#self.assertEqual(progress.text, '')
# 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
()
self
.
assertEqual
(
progress
.
text
,
''
)
self
.
assertTrue
(
progress
.
find_elements_by_css_selector
(
'img'
))
#
self.assertEqual(progress.text, '')
#
self.assertTrue(progress.find_elements_by_css_selector('img'))
tests/integration/test_mcq.py
View file @
b1fc977d
This diff is collapsed.
Click to expand it.
tests/integration/test_progression.py
View file @
b1fc977d
...
...
@@ -23,6 +23,8 @@
# Imports ###########################################################
import
time
from
mentoring.test_base
import
MentoringBaseTest
...
...
@@ -51,43 +53,32 @@ class MentoringProgressionTest(MentoringBaseTest):
# Initial - Step 1 ok, steps 2&3 redirect to step 1
mentoring
=
self
.
go_to_page
(
'Progression 1'
)
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'
)
warning
=
mentoring
.
find_element_by_css_selector
(
'.warning'
)
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'
)
warning
=
mentoring
.
find_element_by_css_selector
(
'.warning'
)
self
.
assert_warning
(
warning
,
'/jump_to_id/mentoring_first'
)
# Submit step 1 without completing it - no change should be registered
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'
)
submit
=
mentoring
.
find_element_by_css_selector
(
'.submit input.input-main'
)
self
.
assertFalse
(
submit
.
is_enabled
())
# Should be impossible to complete step 2
mentoring
=
self
.
go_to_page
(
'Progression 2'
)
answer
=
mentoring
.
find_element_by_css_selector
(
'textarea'
)
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
()
time
.
sleep
(
1
)
progress
=
mentoring
.
find_element_by_css_selector
(
'.progress > .indicator'
)
self
.
assertEqual
(
progress
.
text
,
''
)
self
.
assertFalse
(
progress
.
find_elements_by_xpath
(
'./*'
))
#
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'
)
...
...
@@ -101,29 +92,32 @@ class MentoringProgressionTest(MentoringBaseTest):
mentoring
=
self
.
go_to_page
(
'Progression 1'
)
answer
=
mentoring
.
find_element_by_css_selector
(
'textarea'
)
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
()
self
.
assert_warning_is_hidden
(
mentoring
)
time
.
sleep
(
1
)
progress
=
mentoring
.
find_element_by_css_selector
(
'.progress > .indicator'
)
self
.
assertEqual
(
progress
.
text
,
''
)
self
.
assertTrue
(
progress
.
find_elements_by_css_selector
(
'img'
))
#
progress = mentoring.find_element_by_css_selector('.progress > .indicator')
#
self.assertEqual(progress.text, '')
#
self.assertTrue(progress.find_elements_by_css_selector('img'))
mentoring
=
self
.
go_to_page
(
'Progression 2'
)
self
.
assert_warning_is_hidden
(
mentoring
)
mentoring
=
self
.
go_to_page
(
'Progression 3'
)
warning
=
mentoring
.
find_element_by_css_selector
(
'.warning'
)
self
.
assert_warning
(
warning
,
'/jump_to_id/progression_2'
)
# Complete step 2 - no more warnings anywhere
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
time
.
sleep
(
1
)
progress
=
mentoring
.
find_element_by_css_selector
(
'.progress > .indicator'
)
self
.
assertEqual
(
progress
.
text
,
''
)
self
.
assertTrue
(
progress
.
find_elements_by_css_selector
(
'img'
))
#
progress = mentoring.find_element_by_css_selector('.progress > .indicator')
#
self.assertEqual(progress.text, '')
#
self.assertTrue(progress.find_elements_by_css_selector('img'))
mentoring
=
self
.
go_to_page
(
'Progression 1'
)
self
.
assert_warning_is_hidden
(
mentoring
)
...
...
@@ -138,10 +132,10 @@ class MentoringProgressionTest(MentoringBaseTest):
mentoring
=
self
.
go_to_page
(
'Progression 3'
)
answer
=
mentoring
.
find_element_by_css_selector
(
'textarea'
)
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
()
progress
=
mentoring
.
find_element_by_css_selector
(
'.progress > .indicator'
)
self
.
assertEqual
(
progress
.
text
,
''
)
self
.
assertTrue
(
progress
.
find_elements_by_css_selector
(
'img'
))
#
progress = mentoring.find_element_by_css_selector('.progress > .indicator')
#
self.assertEqual(progress.text, '')
#
self.assertTrue(progress.find_elements_by_css_selector('img'))
tests/integration/test_table.py
View file @
b1fc977d
...
...
@@ -48,7 +48,7 @@ class MentoringTableBlockTest(MentoringBaseTest):
answers
=
mentoring
.
find_elements_by_css_selector
(
'textarea'
)
answers
[
0
]
.
send_keys
(
'This is the answer #1'
)
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
()
table
=
self
.
go_to_page
(
'Table 2'
,
css_selector
=
'.mentoring-table'
)
...
...
tests/integration/xml/mcq_with_comments_1.xml
View file @
b1fc977d
<vertical>
<mentoring
url_name=
"m
entoring-87043a1f-f14a-4813-b89f-3e051939a7ee"
display_name=
"MRQ Exercise 7"
weight=
"1
"
>
<vertical
_demo
>
<mentoring
url_name=
"m
cq_with_comments"
display_name=
"MRQ Exercise 7"
weight=
"1"
enforce_dependency=
"false
"
>
<title>
MRQ With Resizable popups
</title>
<mrq
name=
"mrq_1_1_7"
type=
"choices"
>
<question>
What do you like in this MRQ?
</question>
...
...
@@ -12,8 +12,6 @@
<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
reject=
"bugs"
width =
"100"
height =
"200"
>
Nah, there isn\'t any!
</tip>
<!--<message type="on-submit">Thank you for answering!</message> -->
</mrq>
<message
type=
"completed"
>
...
...
@@ -23,4 +21,4 @@
<html><p>
Still some work to do...
</p></html>
</message>
</mentoring>
</vertical>
</vertical
_demo
>
tests/integration/xml/progression_1.xml
View file @
b1fc977d
<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"
/>
</mentoring>
</vertical_demo>
tests/integration/xml/progression_2.xml
View file @
b1fc977d
<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"
/>
</mentoring>
</vertical_demo>
tests/integration/xml/progression_3.xml
View file @
b1fc977d
<vertical_demo>
<mentoring
url_name=
"progression_3"
>
<mentoring
url_name=
"progression_3"
enforce_dependency=
"true"
>
<answer
name=
"progression_3_answer"
/>
</mentoring>
</vertical_demo>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment