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
b6256def
Commit
b6256def
authored
Feb 03, 2015
by
Ben Patterson
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #6814 from edx/benp/lms-one-shard
LMS Acceptance to one shard.
parents
41475d46
6708ed8f
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
42 additions
and
23 deletions
+42
-23
lms/djangoapps/courseware/features/change_enrollment.feature
+12
-11
lms/djangoapps/courseware/features/lti.feature
+1
-0
lms/djangoapps/courseware/features/lti.py
+11
-5
lms/djangoapps/courseware/features/registration.py
+7
-6
scripts/all-tests.sh
+11
-1
No files found.
lms/djangoapps/courseware/features/change_enrollment.feature
View file @
b6256def
...
...
@@ -10,14 +10,15 @@ And I am logged in
And
I visit the courses page
When
I register to audit the course
And
a
"edx.course.enrollment.activated"
server event is emitted
And
a
"edx.course.enrollment.mode_changed"
server events is emitted
And
I visit the dashboard
And
I click on Challenge Yourself
And
I choose an honor code upgrade
Then
I should be on the dashboard page
Then
2
"edx.course.enrollment.mode_changed"
server event is emitted
# don't emit another mode_changed event upon unenrollment
When
I unenroll from the course numbered
"6.002x"
Then
2
"edx.course.enrollment.mode_changed"
server events is emitted
# Skipping the rest in master. The testcase has not been run and no longer works.
#And a "edx.course.enrollment.mode_changed" server events is emitted
#
#And I visit the dashboard
#And I click on Challenge Yourself
#And I choose an honor code upgrade
#Then I should be on the dashboard page
#Then 2 "edx.course.enrollment.mode_changed" server event is emitted
#
## don't emit another mode_changed event upon unenrollment
#When I unenroll from the course numbered "6.002x"
#Then 2 "edx.course.enrollment.mode_changed" server events is emitted
lms/djangoapps/courseware/features/lti.feature
View file @
b6256def
...
...
@@ -65,6 +65,7 @@ Feature: LMS.LTI component
And
I view the LTI and it is rendered in iframe
And
I see in iframe that LTI role is Instructor
And
I switch to student
And
I view the LTI and it is rendered in iframe
Then
I see in iframe that LTI role is Student
#8
...
...
lms/djangoapps/courseware/features/lti.py
View file @
b6256def
...
...
@@ -16,6 +16,8 @@ from student.tests.factories import UserFactory
from
common
import
visit_scenario_item
TEST_COURSE_NAME
=
"test_course_a"
@step
(
'I view the LTI and error is shown$'
)
def
lti_is_not_rendered
(
_step
):
...
...
@@ -45,6 +47,7 @@ def check_lti_iframe_content(text):
@step
(
'I view the LTI and it is rendered in (.*)$'
)
def
lti_is_rendered
(
_step
,
rendered_in
):
if
rendered_in
.
strip
()
==
'iframe'
:
world
.
wait_for_present
(
'iframe'
)
assert
world
.
is_css_present
(
'iframe'
,
wait_time
=
2
)
assert
not
world
.
is_css_present
(
'.link_lti_new_window'
,
wait_time
=
0
)
assert
not
world
.
is_css_present
(
'.error_message'
,
wait_time
=
0
)
...
...
@@ -58,7 +61,7 @@ def lti_is_rendered(_step, rendered_in):
assert
world
.
is_css_present
(
'.link_lti_new_window'
,
wait_time
=
0
)
assert
not
world
.
is_css_present
(
'.error_message'
,
wait_time
=
0
)
click_and_check_lti_popup
()
else
:
# incorre
n
t rendered_in parameter
else
:
# incorre
c
t rendered_in parameter
assert
False
...
...
@@ -129,7 +132,7 @@ def incorrect_lti_is_rendered(_step):
@step
(
'the course has correct LTI credentials with registered (.*)$'
)
def
set_correct_lti_passport
(
_step
,
user
=
'Instructor'
):
coursenum
=
'test_course'
coursenum
=
TEST_COURSE_NAME
metadata
=
{
'lti_passports'
:
[
"correct_lti_id:test_client_key:test_client_secret"
]
}
...
...
@@ -139,7 +142,7 @@ def set_correct_lti_passport(_step, user='Instructor'):
@step
(
'the course has incorrect LTI credentials$'
)
def
set_incorrect_lti_passport
(
_step
):
coursenum
=
'test_course'
coursenum
=
TEST_COURSE_NAME
metadata
=
{
'lti_passports'
:
[
"test_lti_id:test_client_key:incorrect_lti_secret_key"
]
}
...
...
@@ -269,10 +272,12 @@ def check_lti_popup(parent_window):
# For verification, iterate through the window titles and make sure that
# both are there.
tabs
=
[]
expected_tabs
=
[
u'LTI | Test Section | {0} Courseware | edX'
.
format
(
TEST_COURSE_NAME
),
u'TEST TITLE'
]
for
window
in
windows
:
world
.
browser
.
switch_to_window
(
window
)
tabs
.
append
(
world
.
browser
.
title
)
assert_equal
(
tabs
,
[
u'LTI | Test Section | test_course Courseware | edX'
,
u'TEST TITLE'
])
assert_equal
(
tabs
,
expected_tabs
)
# pylint: disable=no-value-for-parameter
# Now verify the contents of the LTI window (which is the 2nd window/tab)
# Note: The LTI opens in a new browser window, but Selenium sticks with the
...
...
@@ -372,7 +377,7 @@ def get_lti_frame_name():
@step
(
'I see in iframe that LTI role is (.*)$'
)
def
check_role
(
_step
,
role
):
world
.
is_css
_present
(
'iframe'
)
world
.
wait_for
_present
(
'iframe'
)
location
=
world
.
scenario_dict
[
'LTI'
]
.
location
.
html_id
()
iframe_name
=
'ltiFrame-'
+
location
with
world
.
browser
.
get_iframe
(
iframe_name
)
as
iframe
:
...
...
@@ -391,6 +396,7 @@ def switch_view(_step, view):
if
staff_status
!=
view
:
world
.
browser
.
select
(
"select"
,
view
)
world
.
wait_for_ajax_complete
()
assert_equal
(
world
.
css_find
(
'#action-preview-select'
)
.
first
.
value
,
view
)
@step
(
"in the LTI component I do not see (.*)$"
)
...
...
lms/djangoapps/courseware/features/registration.py
View file @
b6256def
...
...
@@ -19,12 +19,13 @@ def i_register_to_audit_the_course(_step):
url
=
django_url
(
'courses/
%
s/about'
%
world
.
scenario_dict
[
'COURSE'
]
.
id
.
to_deprecated_string
())
world
.
browser
.
visit
(
url
)
world
.
css_click
(
'section.intro a.register'
)
# the below button has a race condition. When the page first loads
# some animation needs to complete before this button is in a stable
# position. TODO: implement this without a sleep.
time
.
sleep
(
2
)
audit_button
=
world
.
browser
.
find_by_name
(
"audit_mode"
)
audit_button
.
click
()
# When the page first loads some animation needs to
# complete before this button is in a stable location
world
.
retry_on_exception
(
lambda
:
world
.
browser
.
find_by_name
(
"honor_mode"
)
.
click
(),
max_attempts
=
10
,
ignored_exceptions
=
AttributeError
)
time
.
sleep
(
1
)
assert
world
.
is_css_present
(
'section.container.dashboard'
)
...
...
scripts/all-tests.sh
View file @
b6256def
...
...
@@ -137,8 +137,18 @@ END
paver test_acceptance
-s
lms
--extra_args
=
"-v 3"
;;
"2"
)
mkdir
-p
reports
mkdir
-p
reports/acceptance
cat
>
reports/acceptance/xunit.xml
<<
END
<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="nosetests" tests="1" errors="0" failures="0" skip="0">
<testcase classname="lettuce.tests" name="shard_placeholder" time="0.001"></testcase>
</testsuite>
END
;;
*
)
paver test_acceptance
-s
lms
--extra_args
=
"-v 3
--tag shard_
${
SHARD
}
"
paver test_acceptance
-s
lms
--extra_args
=
"-v 3"
;;
esac
;;
...
...
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