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
e8e7ee7f
Commit
e8e7ee7f
authored
Jan 03, 2014
by
Xavier Antoviaque
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Tests - Factorize code to navigate to a given scenario, by name
parent
7178cc6a
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
14 additions
and
33 deletions
+14
-33
mentoring/test_base.py
+10
-0
tests/test_answer.py
+3
-16
tests/test_progression.py
+0
-10
tests/test_quizz.py
+1
-7
No files found.
mentoring/test_base.py
View file @
e8e7ee7f
...
@@ -28,3 +28,13 @@ class MentoringBaseTest(SeleniumTest):
...
@@ -28,3 +28,13 @@ class MentoringBaseTest(SeleniumTest):
header1
=
self
.
browser
.
find_element_by_css_selector
(
'h1'
)
header1
=
self
.
browser
.
find_element_by_css_selector
(
'h1'
)
self
.
assertEqual
(
header1
.
text
,
'XBlock scenarios'
)
self
.
assertEqual
(
header1
.
text
,
'XBlock scenarios'
)
def
go_to_page
(
self
,
page_name
):
"""
Navigate to the page `page_name`, as listed on the workbench home
Returns the mentoring DOM element on the visited page
"""
self
.
browser
.
get
(
self
.
live_server_url
)
self
.
browser
.
find_element_by_link_text
(
page_name
)
.
click
()
mentoring
=
self
.
browser
.
find_element_by_css_selector
(
'div.mentoring'
)
return
mentoring
tests/test_answer.py
View file @
e8e7ee7f
...
@@ -10,26 +10,17 @@ class AnswerBlockTest(MentoringBaseTest):
...
@@ -10,26 +10,17 @@ class AnswerBlockTest(MentoringBaseTest):
def
test_answer_edit
(
self
):
def
test_answer_edit
(
self
):
# Answer should initially be blank on all instances with the same answer name
# Answer should initially be blank on all instances with the same answer name
link
=
self
.
browser
.
find_element_by_link_text
(
'Answer Edit 2'
)
mentoring
=
self
.
go_to_page
(
'Answer Edit 2'
)
link
.
click
()
mentoring
=
self
.
browser
.
find_element_by_css_selector
(
'div.mentoring'
)
answer1_bis
=
mentoring
.
find_element_by_css_selector
(
'.xblock textarea'
)
answer1_bis
=
mentoring
.
find_element_by_css_selector
(
'.xblock textarea'
)
answer1_readonly
=
mentoring
.
find_element_by_css_selector
(
'blockquote.answer.read_only'
)
answer1_readonly
=
mentoring
.
find_element_by_css_selector
(
'blockquote.answer.read_only'
)
self
.
assertEqual
(
answer1_bis
.
get_attribute
(
'value'
),
''
)
self
.
assertEqual
(
answer1_bis
.
get_attribute
(
'value'
),
''
)
self
.
assertEqual
(
answer1_readonly
.
text
,
''
)
self
.
assertEqual
(
answer1_readonly
.
text
,
''
)
# Another answer with the same name
# Another answer with the same name
self
.
browser
.
get
(
self
.
live_server_url
)
mentoring
=
self
.
go_to_page
(
'Answer Edit 1'
)
link
=
self
.
browser
.
find_element_by_link_text
(
'Answer Edit 1'
)
link
.
click
()
header1
=
self
.
browser
.
find_element_by_css_selector
(
'h1'
)
header1
=
self
.
browser
.
find_element_by_css_selector
(
'h1'
)
self
.
assertEqual
(
header1
.
text
,
'XBlock: Answer Edit 1'
)
self
.
assertEqual
(
header1
.
text
,
'XBlock: Answer Edit 1'
)
# Mentoring block
vertical
=
self
.
browser
.
find_element_by_css_selector
(
'div.vertical'
)
mentoring
=
vertical
.
find_element_by_css_selector
(
'div.mentoring'
)
# Check <html> child
# Check <html> child
p
=
mentoring
.
find_element_by_css_selector
(
'div.xblock > p'
)
p
=
mentoring
.
find_element_by_css_selector
(
'div.xblock > p'
)
self
.
assertEqual
(
p
.
text
,
'This should be displayed in the answer_edit scenario'
)
self
.
assertEqual
(
p
.
text
,
'This should be displayed in the answer_edit scenario'
)
...
@@ -57,11 +48,7 @@ class AnswerBlockTest(MentoringBaseTest):
...
@@ -57,11 +48,7 @@ class AnswerBlockTest(MentoringBaseTest):
self
.
assertTrue
(
progress
.
find_elements_by_css_selector
(
'img'
))
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
self
.
browser
.
get
(
self
.
live_server_url
)
mentoring
=
self
.
go_to_page
(
'Answer Edit 2'
)
link
=
self
.
browser
.
find_element_by_link_text
(
'Answer Edit 2'
)
link
.
click
()
mentoring
=
self
.
browser
.
find_element_by_css_selector
(
'div.mentoring'
)
answer1_bis
=
mentoring
.
find_element_by_css_selector
(
'.xblock textarea'
)
answer1_bis
=
mentoring
.
find_element_by_css_selector
(
'.xblock textarea'
)
answer1_readonly
=
mentoring
.
find_element_by_css_selector
(
'blockquote.answer.read_only'
)
answer1_readonly
=
mentoring
.
find_element_by_css_selector
(
'blockquote.answer.read_only'
)
self
.
assertEqual
(
answer1_bis
.
get_attribute
(
'value'
),
'This is the answer'
)
self
.
assertEqual
(
answer1_bis
.
get_attribute
(
'value'
),
'This is the answer'
)
...
...
tests/test_progression.py
View file @
e8e7ee7f
...
@@ -8,16 +8,6 @@ from mentoring.test_base import MentoringBaseTest
...
@@ -8,16 +8,6 @@ from mentoring.test_base import MentoringBaseTest
class
MentoringProgressionTest
(
MentoringBaseTest
):
class
MentoringProgressionTest
(
MentoringBaseTest
):
def
go_to_page
(
self
,
page_name
):
"""
Navigate to the page `page_name`, as listed on the workbench home
Returns the mentoring DOM element on the visited page
"""
self
.
browser
.
get
(
self
.
live_server_url
)
self
.
browser
.
find_element_by_link_text
(
page_name
)
.
click
()
mentoring
=
self
.
browser
.
find_element_by_css_selector
(
'div.mentoring'
)
return
mentoring
def
assert_warning
(
self
,
warning_dom
,
link_href
):
def
assert_warning
(
self
,
warning_dom
,
link_href
):
"""
"""
Check that the provided DOM element is a progression warning, and includes a link with a href
Check that the provided DOM element is a progression warning, and includes a link with a href
...
...
tests/test_quizz.py
View file @
e8e7ee7f
...
@@ -11,14 +11,8 @@ from mentoring.test_base import MentoringBaseTest
...
@@ -11,14 +11,8 @@ from mentoring.test_base import MentoringBaseTest
class
QuizzBlockTest
(
MentoringBaseTest
):
class
QuizzBlockTest
(
MentoringBaseTest
):
def
test_quizz_choices_rating
(
self
):
def
test_quizz_choices_rating
(
self
):
link
=
self
.
browser
.
find_element_by_link_text
(
'Quizz 1'
)
link
.
click
()
# Mentoring block
vertical
=
self
.
browser
.
find_element_by_css_selector
(
'div.vertical'
)
mentoring
=
vertical
.
find_element_by_css_selector
(
'div.mentoring'
)
# Initial quizzes status
# Initial quizzes status
mentoring
=
self
.
go_to_page
(
'Quizz 1'
)
quizz1
=
mentoring
.
find_element_by_css_selector
(
'fieldset.choices'
)
quizz1
=
mentoring
.
find_element_by_css_selector
(
'fieldset.choices'
)
quizz2
=
mentoring
.
find_element_by_css_selector
(
'fieldset.rating'
)
quizz2
=
mentoring
.
find_element_by_css_selector
(
'fieldset.rating'
)
messages
=
mentoring
.
find_element_by_css_selector
(
'.messages'
)
messages
=
mentoring
.
find_element_by_css_selector
(
'.messages'
)
...
...
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