Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
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
edx
edx-platform
Commits
d9f7b6f3
Commit
d9f7b6f3
authored
Nov 21, 2014
by
E. Kolpakov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Copied discussion tests from upstream
parent
72ccb87d
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
104 additions
and
33 deletions
+104
-33
common/test/acceptance/tests/discussion/__init__.py
+0
-0
common/test/acceptance/tests/discussion/helpers.py
+32
-0
common/test/acceptance/tests/discussion/test_discussion.py
+72
-33
No files found.
common/test/acceptance/tests/discussion/__init__.py
0 → 100644
View file @
d9f7b6f3
common/test/acceptance/tests/discussion/helpers.py
0 → 100644
View file @
d9f7b6f3
"""
Helper functions and classes for discussion tests.
"""
from
uuid
import
uuid4
from
...fixtures.discussion
import
(
SingleThreadViewFixture
,
Thread
,
Response
,
)
class
BaseDiscussionMixin
(
object
):
"""
A mixin containing methods common to discussion tests.
"""
def
setup_thread
(
self
,
num_responses
,
**
thread_kwargs
):
"""
Create a test thread with the given number of responses, passing all
keyword arguments through to the Thread fixture, then invoke
setup_thread_page.
"""
thread_id
=
"test_thread_{}"
.
format
(
uuid4
()
.
hex
)
thread_fixture
=
SingleThreadViewFixture
(
Thread
(
id
=
thread_id
,
commentable_id
=
self
.
discussion_id
,
**
thread_kwargs
)
)
for
i
in
range
(
num_responses
):
thread_fixture
.
addResponse
(
Response
(
id
=
str
(
i
),
body
=
str
(
i
)))
thread_fixture
.
push
()
self
.
setup_thread_page
(
thread_id
)
return
thread_id
common/test/acceptance/tests/test_discussion.py
→
common/test/acceptance/tests/
discussion/
test_discussion.py
View file @
d9f7b6f3
...
@@ -7,10 +7,10 @@ from pytz import UTC
...
@@ -7,10 +7,10 @@ from pytz import UTC
from
uuid
import
uuid4
from
uuid
import
uuid4
from
nose.plugins.attrib
import
attr
from
nose.plugins.attrib
import
attr
from
.helpers
import
UniqueCourseTest
from
.
.
helpers
import
UniqueCourseTest
from
..pages.lms.auto_auth
import
AutoAuthPage
from
..
.
pages.lms.auto_auth
import
AutoAuthPage
from
..pages.lms.courseware
import
CoursewarePage
from
..
.
pages.lms.courseware
import
CoursewarePage
from
..pages.lms.discussion
import
(
from
..
.
pages.lms.discussion
import
(
DiscussionTabSingleThreadPage
,
DiscussionTabSingleThreadPage
,
InlineDiscussionPage
,
InlineDiscussionPage
,
InlineDiscussionThreadPage
,
InlineDiscussionThreadPage
,
...
@@ -18,8 +18,8 @@ from ..pages.lms.discussion import (
...
@@ -18,8 +18,8 @@ from ..pages.lms.discussion import (
DiscussionTabHomePage
,
DiscussionTabHomePage
,
DiscussionSortPreferencePage
,
DiscussionSortPreferencePage
,
)
)
from
..fixtures.course
import
CourseFixture
,
XBlockFixtureDesc
from
..
.
fixtures.course
import
CourseFixture
,
XBlockFixtureDesc
from
..fixtures.discussion
import
(
from
..
.
fixtures.discussion
import
(
SingleThreadViewFixture
,
SingleThreadViewFixture
,
UserProfileViewFixture
,
UserProfileViewFixture
,
SearchResultFixture
,
SearchResultFixture
,
...
@@ -29,28 +29,14 @@ from ..fixtures.discussion import (
...
@@ -29,28 +29,14 @@ from ..fixtures.discussion import (
SearchResult
,
SearchResult
,
)
)
from
.helpers
import
BaseDiscussionMixin
class
DiscussionResponsePaginationTestMixin
(
object
):
class
DiscussionResponsePaginationTestMixin
(
BaseDiscussionMixin
):
"""
"""
A mixin containing tests for response pagination for use by both inline
A mixin containing tests for response pagination for use by both inline
discussion and the discussion tab
discussion and the discussion tab
"""
"""
def
setup_thread
(
self
,
num_responses
,
**
thread_kwargs
):
"""
Create a test thread with the given number of responses, passing all
keyword arguments through to the Thread fixture, then invoke
setup_thread_page.
"""
thread_id
=
"test_thread_{}"
.
format
(
uuid4
()
.
hex
)
thread_fixture
=
SingleThreadViewFixture
(
Thread
(
id
=
thread_id
,
commentable_id
=
self
.
discussion_id
,
**
thread_kwargs
)
)
for
i
in
range
(
num_responses
):
thread_fixture
.
addResponse
(
Response
(
id
=
str
(
i
),
body
=
str
(
i
)))
thread_fixture
.
push
()
self
.
setup_thread_page
(
thread_id
)
def
assert_response_display_correct
(
self
,
response_total
,
displayed_responses
):
def
assert_response_display_correct
(
self
,
response_total
,
displayed_responses
):
"""
"""
Assert that various aspects of the display of responses are all correct:
Assert that various aspects of the display of responses are all correct:
...
@@ -300,24 +286,34 @@ class DiscussionCommentEditTest(UniqueCourseTest):
...
@@ -300,24 +286,34 @@ class DiscussionCommentEditTest(UniqueCourseTest):
self
.
assertTrue
(
page
.
is_add_comment_visible
(
"response1"
))
self
.
assertTrue
(
page
.
is_add_comment_visible
(
"response1"
))
@attr
(
'shard_1'
)
class
InlineDiscussionTestMixin
(
BaseDiscussionMixin
):
class
InlineDiscussionTest
(
UniqueCourseTest
,
DiscussionResponsePaginationTestMixin
):
"""
"""
Tests for inline discussions
Tests for inline discussions
"""
"""
def
_get_xblock_fixture_desc
(
self
):
""" Returns Discussion XBlockFixtureDescriptor """
raise
NotImplementedError
()
def
_initial_discussion_id
(
self
):
""" Returns initial discussion_id for InlineDiscussionPage """
raise
NotImplementedError
()
@property
def
discussion_id
(
self
):
""" Returns selected discussion_id """
raise
NotImplementedError
()
def
__init__
(
self
,
*
args
,
**
kwargs
):
self
.
_discussion_id
=
None
super
(
InlineDiscussionTestMixin
,
self
)
.
__init__
(
*
args
,
**
kwargs
)
def
setUp
(
self
):
def
setUp
(
self
):
super
(
InlineDiscussionTest
,
self
)
.
setUp
()
super
(
InlineDiscussionTestMixin
,
self
)
.
setUp
()
self
.
discussion_id
=
"test_discussion_{}"
.
format
(
uuid4
()
.
hex
)
self
.
course_fix
=
CourseFixture
(
**
self
.
course_info
)
.
add_children
(
self
.
course_fix
=
CourseFixture
(
**
self
.
course_info
)
.
add_children
(
XBlockFixtureDesc
(
"chapter"
,
"Test Section"
)
.
add_children
(
XBlockFixtureDesc
(
"chapter"
,
"Test Section"
)
.
add_children
(
XBlockFixtureDesc
(
"sequential"
,
"Test Subsection"
)
.
add_children
(
XBlockFixtureDesc
(
"sequential"
,
"Test Subsection"
)
.
add_children
(
XBlockFixtureDesc
(
"vertical"
,
"Test Unit"
)
.
add_children
(
XBlockFixtureDesc
(
"vertical"
,
"Test Unit"
)
.
add_children
(
XBlockFixtureDesc
(
self
.
_get_xblock_fixture_desc
()
"discussion"
,
"Test Discussion"
,
metadata
=
{
"discussion_id"
:
self
.
discussion_id
}
)
)
)
)
)
)
)
...
@@ -327,7 +323,7 @@ class InlineDiscussionTest(UniqueCourseTest, DiscussionResponsePaginationTestMix
...
@@ -327,7 +323,7 @@ class InlineDiscussionTest(UniqueCourseTest, DiscussionResponsePaginationTestMix
self
.
courseware_page
=
CoursewarePage
(
self
.
browser
,
self
.
course_id
)
self
.
courseware_page
=
CoursewarePage
(
self
.
browser
,
self
.
course_id
)
self
.
courseware_page
.
visit
()
self
.
courseware_page
.
visit
()
self
.
discussion_page
=
InlineDiscussionPage
(
self
.
browser
,
self
.
discussion_id
)
self
.
discussion_page
=
InlineDiscussionPage
(
self
.
browser
,
self
.
_initial_discussion_id
()
)
def
setup_thread_page
(
self
,
thread_id
):
def
setup_thread_page
(
self
,
thread_id
):
self
.
discussion_page
.
expand_discussion
()
self
.
discussion_page
.
expand_discussion
()
...
@@ -391,6 +387,49 @@ class InlineDiscussionTest(UniqueCourseTest, DiscussionResponsePaginationTestMix
...
@@ -391,6 +387,49 @@ class InlineDiscussionTest(UniqueCourseTest, DiscussionResponsePaginationTestMix
@attr
(
'shard_1'
)
@attr
(
'shard_1'
)
class
DiscussionXModuleInlineTest
(
InlineDiscussionTestMixin
,
UniqueCourseTest
,
DiscussionResponsePaginationTestMixin
):
""" Discussion XModule inline mode tests """
def
_get_xblock_fixture_desc
(
self
):
""" Returns Discussion XBlockFixtureDescriptor """
return
XBlockFixtureDesc
(
'discussion'
,
"Test Discussion"
,
metadata
=
{
"discussion_id"
:
self
.
discussion_id
}
)
def
_initial_discussion_id
(
self
):
""" Returns initial discussion_id for InlineDiscussionPage """
return
self
.
discussion_id
@property
def
discussion_id
(
self
):
""" Returns selected discussion_id """
if
getattr
(
self
,
'_discussion_id'
,
None
)
is
None
:
self
.
_discussion_id
=
"test_discussion_{}"
.
format
(
uuid4
()
.
hex
)
return
self
.
_discussion_id
@attr
(
'shard_1'
)
class
DiscussionXBlockInlineTest
(
InlineDiscussionTestMixin
,
UniqueCourseTest
,
DiscussionResponsePaginationTestMixin
):
""" Discussion XBlock inline mode tests """
def
_get_xblock_fixture_desc
(
self
):
""" Returns Discussion XBlockFixtureDescriptor """
return
XBlockFixtureDesc
(
'discussion-forum'
,
"Test Discussion"
)
def
_initial_discussion_id
(
self
):
""" Returns initial discussion_id for InlineDiscussionPage """
return
None
@property
def
discussion_id
(
self
):
""" Returns selected discussion_id """
return
self
.
discussion_page
.
get_discussion_id
()
@attr
(
'shard_1'
)
class
DiscussionUserProfileTest
(
UniqueCourseTest
):
class
DiscussionUserProfileTest
(
UniqueCourseTest
):
"""
"""
Tests for user profile page in discussion tab.
Tests for user profile page in discussion tab.
...
...
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