Skip to content

Instantly share code, notes, and snippets.

@singingwolfboy
Created October 8, 2014 20:47
Show Gist options
  • Save singingwolfboy/e744dbc724b5cbfdf172 to your computer and use it in GitHub Desktop.
Save singingwolfboy/e744dbc724b5cbfdf172 to your computer and use it in GitHub Desktop.
acceptance tests on aspen
edxapp@precise64:~/edx-platform$ paver test_acceptance
---> pavelib.acceptance_test.test_acceptance
---> pavelib.prereqs.install_prereqs
---> pavelib.prereqs.install_ruby_prereqs
Ruby prereqs unchanged, skipping...
---> pavelib.prereqs.install_node_prereqs
Node prereqs unchanged, skipping...
---> pavelib.prereqs.install_python_prereqs
Python prereqs unchanged, skipping...
---> pavelib.utils.test.utils.clean_reports_dir
find /edx/app/edxapp/edx-platform/reports -type f -delete
No system specified, running tests for both cms and lms.
Setting up for acceptance
---> pavelib.utils.test.utils.clean_test_files
git clean -fqdx test_root/logs test_root/data test_root/staticfiles test_root/uploads
find . -type f -name "*.pyc" -delete
rm -rf test_root/log/auto_screenshots/*
rm -rf /tmp/mako_[cl]ms
cp /edx/app/edxapp/edx-platform/common/test/db_cache/lettuce.db /edx/app/edxapp/edx-platform/test_root/db/test_edx.db
./manage.py lms --settings acceptance migrate --traceback --noinput
Running migrations for djcelery:
- Nothing to migrate.
- Loading initial data for djcelery.
Installed 0 object(s) from 0 fixture(s)
Running migrations for courseware:
- Nothing to migrate.
- Loading initial data for courseware.
Installed 0 object(s) from 0 fixture(s)
Running migrations for student:
- Nothing to migrate.
- Loading initial data for student.
Installed 0 object(s) from 0 fixture(s)
Running migrations for track:
- Nothing to migrate.
- Loading initial data for track.
Installed 0 object(s) from 0 fixture(s)
Running migrations for certificates:
- Nothing to migrate.
- Loading initial data for certificates.
Installed 0 object(s) from 0 fixture(s)
Running migrations for instructor_task:
- Nothing to migrate.
- Loading initial data for instructor_task.
Installed 0 object(s) from 0 fixture(s)
Running migrations for licenses:
- Nothing to migrate.
- Loading initial data for licenses.
Installed 0 object(s) from 0 fixture(s)
Running migrations for bulk_email:
- Nothing to migrate.
- Loading initial data for bulk_email.
Installed 0 object(s) from 0 fixture(s)
Running migrations for external_auth:
- Nothing to migrate.
- Loading initial data for external_auth.
Installed 0 object(s) from 0 fixture(s)
Running migrations for wiki:
- Nothing to migrate.
- Loading initial data for wiki.
Installed 0 object(s) from 0 fixture(s)
Running migrations for django_notify:
- Nothing to migrate.
- Loading initial data for django_notify.
Installed 0 object(s) from 0 fixture(s)
Running migrations for notifications:
- Nothing to migrate.
- Loading initial data for notifications.
Installed 0 object(s) from 0 fixture(s)
Running migrations for foldit:
- Nothing to migrate.
- Loading initial data for foldit.
Installed 0 object(s) from 0 fixture(s)
Running migrations for waffle:
- Nothing to migrate.
- Loading initial data for waffle.
Installed 0 object(s) from 0 fixture(s)
Running migrations for django_comment_client:
- Nothing to migrate.
- Loading initial data for django_comment_client.
Installed 0 object(s) from 0 fixture(s)
Running migrations for django_comment_common:
- Nothing to migrate.
- Loading initial data for django_comment_common.
Installed 0 object(s) from 0 fixture(s)
Running migrations for notes:
- Nothing to migrate.
- Loading initial data for notes.
Installed 0 object(s) from 0 fixture(s)
Running migrations for splash:
- Nothing to migrate.
- Loading initial data for splash.
Installed 0 object(s) from 0 fixture(s)
Running migrations for user_api:
- Nothing to migrate.
- Loading initial data for user_api.
Installed 0 object(s) from 0 fixture(s)
Running migrations for shoppingcart:
- Migrating forwards to 0016_auto__del_field_invoice_company_email__del_field_invoice_company_refer.
> shoppingcart:0010_auto__add_registrationcoderedemption__del_field_courseregistrationcode
> shoppingcart:0011_auto__add_invoice__add_field_courseregistrationcode_invoice
> shoppingcart:0012_auto__del_field_courseregistrationcode_transaction_group_name__del_fie
> shoppingcart:0013_auto__add_field_invoice_is_valid
> shoppingcart:0014_auto__del_field_invoice_tax_id__add_field_invoice_address_line_1__add_
> shoppingcart:0015_auto__del_field_invoice_purchase_order_number__del_field_invoice_compa
> shoppingcart:0016_auto__del_field_invoice_company_email__del_field_invoice_company_refer
- Loading initial data for shoppingcart.
Installed 0 object(s) from 0 fixture(s)
Running migrations for course_modes:
- Migrating forwards to 0007_auto__add_coursemodesarchive__chg_field_coursemode_course_id.
> course_modes:0007_add_description
> course_modes:0007_auto__add_coursemodesarchive__chg_field_coursemode_course_id
- Loading initial data for course_modes.
Installed 0 object(s) from 0 fixture(s)
Running migrations for verify_student:
- Nothing to migrate.
- Loading initial data for verify_student.
Installed 0 object(s) from 0 fixture(s)
Running migrations for dark_lang:
- Nothing to migrate.
- Loading initial data for dark_lang.
Installed 0 object(s) from 0 fixture(s)
Running migrations for reverification:
- Nothing to migrate.
- Loading initial data for reverification.
Installed 0 object(s) from 0 fixture(s)
Running migrations for embargo:
- Nothing to migrate.
- Loading initial data for embargo.
Installed 0 object(s) from 0 fixture(s)
Running migrations for course_action_state:
- Migrating forwards to 0002_add_rerun_display_name.
> course_action_state:0001_initial
> course_action_state:0002_add_rerun_display_name
- Loading initial data for course_action_state.
Installed 0 object(s) from 0 fixture(s)
Running migrations for linkedin:
- Nothing to migrate.
- Loading initial data for linkedin.
Installed 0 object(s) from 0 fixture(s)
Running migrations for submissions:
- Nothing to migrate.
- Loading initial data for submissions.
Installed 0 object(s) from 0 fixture(s)
Running migrations for assessment:
- Migrating forwards to 0023_assign_criteria_and_option_labels.
> assessment:0022__add_label_fields
> assessment:0023_assign_criteria_and_option_labels
- Migration 'assessment:0023_assign_criteria_and_option_labels' is marked for no-dry-run.
- Loading initial data for assessment.
Installed 0 object(s) from 0 fixture(s)
Running migrations for workflow:
- Nothing to migrate.
- Loading initial data for workflow.
Installed 0 object(s) from 0 fixture(s)
Setting up for lms acceptance
---> pavelib.assets.update_assets
python manage.py lms --settings=acceptance preprocess_assets
xmodule_assets common/static/xmodule
---> pavelib.assets.compile_coffeescript
node_modules/.bin/coffee --compile `find /edx/app/edxapp/edx-platform/lms /edx/app/edxapp/edx-platform/cms /edx/app/edxapp/edx-platform/common -type f -name "*.coffee"`
sass --style compressed --sourcemap --cache-location /tmp/sass-cache --load-path ./common/static/sass --update -E utf-8 */static
write lms/static/sass/application-extend1.css
write lms/static/sass/application-extend1.css.map
write lms/static/sass/application-extend2.css
write lms/static/sass/application-extend2.css.map
write lms/static/sass/application.css
write lms/static/sass/application.css.map
write lms/static/sass/course.css
write lms/static/sass/course.css.map
python manage.py lms --settings=acceptance collectstatic --noinput > /dev/null
./manage.py lms --settings acceptance harvest --traceback --debug-mode --verbosity 3 --with-xunit --xunit-file /edx/app/edxapp/edx-platform/reports/acceptance/lms.xml
========================================
Running tests for lms acceptance
========================================
Preparing to serve django's admin site static files...
Django's builtin server is running at 0.0.0.0:8003
Feature: LMS.Annotatable Component # lms/djangoapps/courseware/features/annotatable.feature:2
As a student, I want to view an Annotatable component in the LMS # lms/djangoapps/courseware/features/annotatable.feature:3
@shard_2
Scenario: An Annotatable component can be rendered in the LMS # lms/djangoapps/courseware/features/annotatable.feature:5
Given that a course has an annotatable component with 2 annotations # lms/djangoapps/courseware/features/annotatable.py:63
When I view the annotatable component # lms/djangoapps/courseware/features/annotatable.py:84
Then the annotatable component has rendered # lms/djangoapps/courseware/features/annotatable.py:88
And the annotatable component has 2 highlighted passages # lms/djangoapps/courseware/features/annotatable.py:97
@shard_2
Scenario Outline: An Annotatable component links to annonation problems in the LMS# lms/djangoapps/courseware/features/annotatable.feature:11
Given that a course has an annotatable component with 2 annotations # lms/djangoapps/courseware/features/annotatable.py:63
And the course has 2 annotatation problems # lms/djangoapps/courseware/features/annotatable.py:104
When I view the annotatable component # lms/djangoapps/courseware/features/annotatable.py:84
And I click "Reply to annotation" on passage <problem> # lms/djangoapps/courseware/features/annotatable.py:127
Then I am scrolled to that annotation problem # lms/djangoapps/courseware/features/annotatable.py:147
When I answer that annotation problem # lms/djangoapps/courseware/features/annotatable.py:152
Then I receive feedback on that annotation problem # lms/djangoapps/courseware/features/annotatable.py:158
When I click "Return to annotation" on that problem # lms/djangoapps/courseware/features/annotatable.py:164
Then I am scrolled to the annotatable component # lms/djangoapps/courseware/features/annotatable.py:168
Examples:
| problem |
| 0 |
| 1 |
Feature: LMS.Verified certificates # lms/djangoapps/courseware/features/certificates.feature:2
As a student, # lms/djangoapps/courseware/features/certificates.feature:3
In order to earn a verified certificate # lms/djangoapps/courseware/features/certificates.feature:4
I want to sign up for a verified certificate course. # lms/djangoapps/courseware/features/certificates.feature:5
@shard_2
Scenario: I can audit a verified certificate course # lms/djangoapps/courseware/features/certificates.feature:7
Given I am logged in # common/djangoapps/terrain/steps.py:163
When I select the audit track # lms/djangoapps/courseware/features/certificates.py:64
Then I should see the course on my dashboard # lms/djangoapps/courseware/features/certificates.py:105
And a "edx.course.enrollment.activated" server event is emitted # lms/djangoapps/courseware/features/events.py:40
@shard_2
Scenario: I can submit photos to verify my identity # lms/djangoapps/courseware/features/certificates.feature:13
Given I am logged in # common/djangoapps/terrain/steps.py:163
When I select the verified track # lms/djangoapps/courseware/features/certificates.py:96
And I go to step "1" # lms/djangoapps/courseware/features/certificates.py:111
And I capture my "face" photo # lms/djangoapps/courseware/features/certificates.py:132
And I approve my "face" photo # lms/djangoapps/courseware/features/certificates.py:147
And I go to step "2" # lms/djangoapps/courseware/features/certificates.py:111
And I capture my "photo_id" photo # lms/djangoapps/courseware/features/certificates.py:132
And I approve my "photo_id" photo # lms/djangoapps/courseware/features/certificates.py:147
And I go to step "3" # lms/djangoapps/courseware/features/certificates.py:111
And I select a contribution amount # lms/djangoapps/courseware/features/certificates.py:172
And I confirm that the details match # lms/djangoapps/courseware/features/certificates.py:177
And I go to step "4" # lms/djangoapps/courseware/features/certificates.py:111
Then I am at the payment page # lms/djangoapps/courseware/features/certificates.py:189
@shard_2
Scenario: I can pay for a verified certificate # lms/djangoapps/courseware/features/certificates.feature:28
Given I have submitted photos to verify my identity # lms/djangoapps/courseware/features/certificates.py:216
When I submit valid payment information # lms/djangoapps/courseware/features/certificates.py:194
Then I see that my payment was successful # lms/djangoapps/courseware/features/certificates.py:238
@shard_2
Scenario: Verified courses display correctly on dashboard # lms/djangoapps/courseware/features/certificates.feature:33
Given I have submitted photos to verify my identity # lms/djangoapps/courseware/features/certificates.py:216
When I submit valid payment information # lms/djangoapps/courseware/features/certificates.py:194
And I navigate to my dashboard # lms/djangoapps/courseware/features/certificates.py:244
Then I see the course on my dashboard # lms/djangoapps/courseware/features/certificates.py:250
And I see that I am on the verified track # lms/djangoapps/courseware/features/certificates.py:277
And I do not see the upsell link on my dashboard # lms/djangoapps/courseware/features/certificates.py:262
And a "edx.course.enrollment.activated" server event is emitted # lms/djangoapps/courseware/features/events.py:40
@shard_2
Scenario: I can return to the verify flow # lms/djangoapps/courseware/features/certificates.feature:59
Given I have submitted photos to verify my identity # lms/djangoapps/courseware/features/certificates.py:216
When I leave the flow and return # lms/djangoapps/courseware/features/certificates.py:283
Then I am at the verified page # lms/djangoapps/courseware/features/certificates.py:288
@shard_2
Scenario: I can take a verified certificate course for free # lms/djangoapps/courseware/features/certificates.feature:71
Given I am logged in # common/djangoapps/terrain/steps.py:163
And the course has an honor mode # lms/djangoapps/courseware/features/certificates.py:52
When I select the honor code option # lms/djangoapps/courseware/features/certificates.py:299
Then I should see the course on my dashboard # lms/djangoapps/courseware/features/certificates.py:105
And a "edx.course.enrollment.activated" server event is emitted # lms/djangoapps/courseware/features/events.py:40
@shard_2
Scenario: The upsell offer is on the dashboard if I am auditing# lms/djangoapps/courseware/features/certificates.feature:78
Given I am logged in # common/djangoapps/terrain/steps.py:163
When I select the audit track # lms/djangoapps/courseware/features/certificates.py:64
And I navigate to my dashboard # lms/djangoapps/courseware/features/certificates.py:244
Then I see the upsell link on my dashboard # lms/djangoapps/courseware/features/certificates.py:256
@shard_2
Scenario: I can take the upsell offer and pay for it # lms/djangoapps/courseware/features/certificates.feature:84
Given I am logged in # common/djangoapps/terrain/steps.py:163
And I select the audit track # lms/djangoapps/courseware/features/certificates.py:64
And I navigate to my dashboard # lms/djangoapps/courseware/features/certificates.py:244
When I see the upsell link on my dashboard # lms/djangoapps/courseware/features/certificates.py:256
And I select the upsell link on my dashboard # lms/djangoapps/courseware/features/certificates.py:268
And I select the verified track for upgrade # lms/djangoapps/courseware/features/certificates.py:86
And I submit my photos and confirm # lms/djangoapps/courseware/features/certificates.py:224
And I am at the payment page # lms/djangoapps/courseware/features/certificates.py:189
And I submit valid payment information # lms/djangoapps/courseware/features/certificates.py:194
And I navigate to my dashboard # lms/djangoapps/courseware/features/certificates.py:244
Then I see the course on my dashboard # lms/djangoapps/courseware/features/certificates.py:250
And I see that I am on the verified track # lms/djangoapps/courseware/features/certificates.py:277
And a "edx.course.enrollment.activated" server event is emitted # lms/djangoapps/courseware/features/events.py:40
And a "edx.course.enrollment.upgrade.succeeded" server event is emitted # lms/djangoapps/courseware/features/events.py:40
Feature: Change Enrollment Events # lms/djangoapps/courseware/features/change_enrollment.feature:1
As a registered user # lms/djangoapps/courseware/features/change_enrollment.feature:2
I want to change my enrollment mode # lms/djangoapps/courseware/features/change_enrollment.feature:3
Scenario: I can change my enrollment # lms/djangoapps/courseware/features/change_enrollment.feature:6
Given The course "6.002x" exists # lms/djangoapps/courseware/features/common.py:60
And the course "6.002x" has all enrollment modes # lms/djangoapps/courseware/features/change_enrollment.py:11
And I am logged in # common/djangoapps/terrain/steps.py:163
And I visit the courses page # common/djangoapps/terrain/steps.py:66
When I register to audit the course # lms/djangoapps/courseware/features/registration.py:17
Traceback (most recent call last):
File "/edx/app/edxapp/venvs/edxapp/src/lettuce/lettuce/core.py", line 144, in __call__
ret = self.function(self.step, *args, **kw)
File "/edx/app/edxapp/edx-platform/lms/djangoapps/courseware/features/registration.py", line 22, in i_register_to_audit_the_course
audit_button.click()
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/splinter/driver/webdriver/__init__.py", line 344, in click
self._element.click()
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/selenium/webdriver/remote/webelement.py", line 60, in click
self._execute(Command.CLICK_ELEMENT)
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/selenium/webdriver/remote/webelement.py", line 370, in _execute
return self._parent.execute(command, params)
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 173, in execute
self.error_handler.check_response(response)
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 164, in check_response
raise exception_class(message, screen, stacktrace)
WebDriverException: Message: u'unknown error: Element is not clickable at point (718, 939). Other element would receive the click: <div class="register-choice register-choice-audit">...</div>\n (Session info: chrome=30.0.1599.114)\n (Driver info: chromedriver=2.6.232917,platform=Linux 3.2.0-23-generic x86_64)'
And a "edx.course.enrollment.activated" server event is emitted # lms/djangoapps/courseware/features/events.py:40
And a "edx.course.enrollment.mode_changed" server events is emitted # lms/djangoapps/courseware/features/events.py:40
And I visit the dashboard # common/djangoapps/terrain/steps.py:54
And I click on Challenge Yourself # lms/djangoapps/courseware/features/change_enrollment.py:33
And I choose an honor code upgrade # lms/djangoapps/courseware/features/change_enrollment.py:42
Then I should be on the dashboard page # common/djangoapps/terrain/steps.py:60
Then 2 "edx.course.enrollment.mode_changed" server event is emitted # lms/djangoapps/courseware/features/events.py:40
When I unregister for the course numbered "6.002x" # lms/djangoapps/courseware/features/registration.py:42
Then 2 "edx.course.enrollment.mode_changed" server events is emitted # lms/djangoapps/courseware/features/events.py:40
Feature: LMS.Conditional Module # lms/djangoapps/courseware/features/conditional.feature:2
As a student, I want to view a Conditional component in the LMS # lms/djangoapps/courseware/features/conditional.feature:3
@shard_2
Scenario: A Conditional hides content when conditions aren't satisfied# lms/djangoapps/courseware/features/conditional.feature:5
Given that a course has a Conditional conditioned on problem attempted=True # lms/djangoapps/courseware/features/conditional.py:15
And that the conditioned problem has not been attempted # lms/djangoapps/courseware/features/conditional.py:71
When I view the conditional # lms/djangoapps/courseware/features/conditional.py:79
Then the conditional contents are hidden # lms/djangoapps/courseware/features/conditional.py:84
@shard_2
Scenario: A Conditional shows content when conditions are satisfied # lms/djangoapps/courseware/features/conditional.feature:11
Given that a course has a Conditional conditioned on problem attempted=True # lms/djangoapps/courseware/features/conditional.py:15
And that the conditioned problem has been attempted # lms/djangoapps/courseware/features/conditional.py:71
When I view the conditional # lms/djangoapps/courseware/features/conditional.py:79
Then the conditional contents are visible # lms/djangoapps/courseware/features/conditional.py:84
@shard_2
Scenario: A Conditional containing a Poll is updated when the poll is answered# lms/djangoapps/courseware/features/conditional.feature:17
Given that a course has a Conditional conditioned on poll poll_answer=yes # lms/djangoapps/courseware/features/conditional.py:15
When I view the conditional # lms/djangoapps/courseware/features/conditional.py:79
Then the conditional contents are hidden # lms/djangoapps/courseware/features/conditional.py:84
When I answer the conditioned poll "yes" # lms/djangoapps/courseware/features/conditional.py:97
Then the conditional contents are visible # lms/djangoapps/courseware/features/conditional.py:84
Feature: LMS.Events # lms/djangoapps/courseware/features/events.feature:2
As a researcher, I want to be able to track events in the LMS # lms/djangoapps/courseware/features/events.feature:3
@shard_2
Scenario Outline: An event is emitted for each request# lms/djangoapps/courseware/features/events.feature:5
Given: I am registered for the course "6.002x" # lms/djangoapps/courseware/features/common.py:91
And I visit the url "<url>" # common/djangoapps/terrain/steps.py:187
Then a "<url>" server event is emitted # lms/djangoapps/courseware/features/events.py:40
Examples:
| url |
| /dashboard |
| /courses/edx/6.002x/Test_Course/info |
| /courses/edx/6.002x/Test_Course/courseware |
Feature: LMS.Graphical Slider Tool Module # lms/djangoapps/courseware/features/gst.feature:2
As a student, I want to view a Graphical Slider Tool Component # lms/djangoapps/courseware/features/gst.feature:3
@shard_2
Scenario: The slider changes values on the page # lms/djangoapps/courseware/features/gst.feature:5
Given that I have a course with a Graphical Slider Tool # lms/djangoapps/courseware/features/gst.py:34
When I view the Graphical Slider Tool # lms/djangoapps/courseware/features/gst.py:46
Then the displayed value should be 0 # lms/djangoapps/courseware/features/gst.py:52
And I move the slider to the right # lms/djangoapps/courseware/features/gst.py:57
Then the displayed value should be 10 # lms/djangoapps/courseware/features/gst.py:52
Feature: LMS.All the high level tabs should work # lms/djangoapps/courseware/features/high-level-tabs.feature:2
In order to preview the courseware # lms/djangoapps/courseware/features/high-level-tabs.feature:3
As a student # lms/djangoapps/courseware/features/high-level-tabs.feature:4
I want to navigate through the high level tabs # lms/djangoapps/courseware/features/high-level-tabs.feature:5
@shard_1
Scenario: I can navigate to all high - level tabs in a course # lms/djangoapps/courseware/features/high-level-tabs.feature:7
Given: I am registered for the course "6.002x" # lms/djangoapps/courseware/features/common.py:91
And The course "6.002x" has extra tab "Custom Tab" # lms/djangoapps/courseware/features/common.py:107
And I am logged in # common/djangoapps/terrain/steps.py:163
And I click on View Courseware # lms/djangoapps/courseware/features/courseware_common.py:9
When I click on the tabs then the page title should contain the following titles: # lms/djangoapps/courseware/features/high-level-tabs.py:5
| TabName | PageTitle |
| Courseware | 6.002x Courseware |
| Course Info | 6.002x Course Info |
| Custom Tab | Custom Tab |
| Wiki | Wiki |
| Progress | 6.002x Progress |
Feature: LMS.Homepage for web users # lms/djangoapps/courseware/features/homepage.feature:2
In order to get an idea what edX is about # lms/djangoapps/courseware/features/homepage.feature:3
As a an anonymous web user # lms/djangoapps/courseware/features/homepage.feature:4
I want to check the information on the home page # lms/djangoapps/courseware/features/homepage.feature:5
@shard_1
Scenario: User can see the "Login" button# lms/djangoapps/courseware/features/homepage.feature:7
Given I visit the homepage # common/djangoapps/terrain/steps.py:48
Then I should see a link called "Log in" # common/djangoapps/terrain/steps.py:132
@shard_1
Scenario: User can see the "Register Now" button# lms/djangoapps/courseware/features/homepage.feature:11
Given I visit the homepage # common/djangoapps/terrain/steps.py:48
Then I should see a link called "Register Now" # common/djangoapps/terrain/steps.py:132
@shard_1
Scenario: User can see main parts of the page# lms/djangoapps/courseware/features/homepage.feature:15
Given I visit the homepage # common/djangoapps/terrain/steps.py:48
Then I should see the following links and ids # lms/djangoapps/courseware/features/homepage.py:9
| id | Link |
| about | About |
| jobs | Jobs |
| faq | FAQ |
| contact | Contact |
| press | News |
Feature: LMS.Login in as a registered user # lms/djangoapps/courseware/features/login.feature:2
As a registered user # lms/djangoapps/courseware/features/login.feature:3
In order to access my content # lms/djangoapps/courseware/features/login.feature:4
I want to be able to login in to edX # lms/djangoapps/courseware/features/login.feature:5
@shard_1
Scenario: Login to an unactivated account # lms/djangoapps/courseware/features/login.feature:7
Given I am an edX user # common/djangoapps/terrain/steps.py:172
And I am an unactivated user # lms/djangoapps/courseware/features/login.py:9
And I visit the homepage # common/djangoapps/terrain/steps.py:48
When I click the link with the text "Log in" # common/djangoapps/terrain/steps.py:122
And I submit my credentials on the login form # lms/djangoapps/courseware/features/login.py:19
Then I should see the login error message "This account has not been activated" # lms/djangoapps/courseware/features/login.py:30
@skip_firefox @shard_1
Scenario: Login to an activated account # lms/djangoapps/courseware/features/login.feature:17
Given I am an edX user # common/djangoapps/terrain/steps.py:172
And I am an activated user # lms/djangoapps/courseware/features/login.py:14
And I visit the homepage # common/djangoapps/terrain/steps.py:48
When I click the link with the text "Log in" # common/djangoapps/terrain/steps.py:122
And I submit my credentials on the login form # lms/djangoapps/courseware/features/login.py:19
Then I should be on the dashboard page # common/djangoapps/terrain/steps.py:60
@shard_1
Scenario: Logout of a signed in account # lms/djangoapps/courseware/features/login.feature:25
Given I am logged in # common/djangoapps/terrain/steps.py:163
When I click the dropdown arrow # lms/djangoapps/courseware/features/login.py:36
And I click the link with the text "Log Out" # common/djangoapps/terrain/steps.py:122
Then I should see a link with the text "Log in" # common/djangoapps/terrain/steps.py:132
And I should see that the path is "/" # common/djangoapps/terrain/steps.py:83
@shard_1
Scenario: Login with valid redirect # lms/djangoapps/courseware/features/login.feature:32
Given I am an edX user # common/djangoapps/terrain/steps.py:172
And The course "6.002x" exists # lms/djangoapps/courseware/features/common.py:60
And I am registered for the course "6.002x" # lms/djangoapps/courseware/features/common.py:91
And I am not logged in # common/djangoapps/terrain/steps.py:111
And I visit the url "/courses/edx/6.002x/Test_Course/courseware" # common/djangoapps/terrain/steps.py:187
And I should see that the path is "/accounts/login?next=/courses/edx/6.002x/Test_Course/courseware" # common/djangoapps/terrain/steps.py:83
When I submit my credentials on the login form # lms/djangoapps/courseware/features/login.py:19
And I wait for "2" seconds # common/djangoapps/terrain/steps.py:31
Then the page title should contain "6.002x Courseware" # common/djangoapps/terrain/steps.py:95
@shard_1
Scenario: Login with an invalid redirect # lms/djangoapps/courseware/features/login.feature:43
Given I am an edX user # common/djangoapps/terrain/steps.py:172
And I am not logged in # common/djangoapps/terrain/steps.py:111
And I visit the url "/login?next=http://www.google.com/" # common/djangoapps/terrain/steps.py:187
When I submit my credentials on the login form # lms/djangoapps/courseware/features/login.py:19
Then I should be on the dashboard page # common/djangoapps/terrain/steps.py:60
@shard_1
Scenario: Login with a redirect with parameters # lms/djangoapps/courseware/features/login.feature:50
Given I am an edX user # common/djangoapps/terrain/steps.py:172
And I am not logged in # common/djangoapps/terrain/steps.py:111
And I visit the url "/debug/show_parameters?foo=hello&bar=world" # common/djangoapps/terrain/steps.py:187
And I should see that the path is "/accounts/login?next=/debug/show_parameters%3Ffoo%3Dhello%26bar%3Dworld" # common/djangoapps/terrain/steps.py:83
When I submit my credentials on the login form # lms/djangoapps/courseware/features/login.py:19
And I wait for "2" seconds # common/djangoapps/terrain/steps.py:31
Then I should see "foo: u'hello'" somewhere on the page # common/djangoapps/terrain/steps.py:151
And I should see "bar: u'world'" somewhere on the page # common/djangoapps/terrain/steps.py:151
Feature: LMS.LTI component # lms/djangoapps/courseware/features/lti.feature:2
As a student, I want to view LTI component in LMS. # lms/djangoapps/courseware/features/lti.feature:3
@shard_1 @requires_stub_lti
Scenario: LTI component in LMS with no launch_url is not rendered# lms/djangoapps/courseware/features/lti.feature:6
Given the course has correct LTI credentials with registered Instructor # lms/djangoapps/courseware/features/lti.py:75
And the course has an LTI component with no_launch_url fields: # lms/djangoapps/courseware/features/lti.py:95
| open_in_a_new_page |
| False |
Then I view the LTI and error is shown # lms/djangoapps/courseware/features/lti.py:20
@shard_1 @requires_stub_lti
Scenario: LTI component in LMS with incorrect lti_id is rendered incorrectly# lms/djangoapps/courseware/features/lti.feature:14
Given the course has correct LTI credentials with registered Instructor # lms/djangoapps/courseware/features/lti.py:75
And the course has an LTI component with incorrect_lti_id fields: # lms/djangoapps/courseware/features/lti.py:95
| open_in_a_new_page |
| False |
Then I view the LTI but incorrect_signature warning is rendered # lms/djangoapps/courseware/features/lti.py:65
@shard_1 @requires_stub_lti
Scenario: LTI component in LMS is rendered incorrectly # lms/djangoapps/courseware/features/lti.feature:22
Given the course has incorrect LTI credentials # lms/djangoapps/courseware/features/lti.py:85
And the course has an LTI component with correct fields: # lms/djangoapps/courseware/features/lti.py:95
| open_in_a_new_page |
| False |
Then I view the LTI but incorrect_signature warning is rendered # lms/djangoapps/courseware/features/lti.py:65
@shard_1 @requires_stub_lti
Scenario: LTI component in LMS is correctly rendered in new page# lms/djangoapps/courseware/features/lti.feature:30
Given the course has correct LTI credentials with registered Instructor # lms/djangoapps/courseware/features/lti.py:75
And the course has an LTI component with correct fields # lms/djangoapps/courseware/features/lti.py:95
Then I view the LTI and it is rendered in new page # lms/djangoapps/courseware/features/lti.py:45
@shard_1 @requires_stub_lti
Scenario: LTI component in LMS is correctly rendered in iframe# lms/djangoapps/courseware/features/lti.feature:36
Given the course has correct LTI credentials with registered Instructor # lms/djangoapps/courseware/features/lti.py:75
And the course has an LTI component with correct fields: # lms/djangoapps/courseware/features/lti.py:95
| open_in_a_new_page |
| False |
Then I view the LTI and it is rendered in iframe # lms/djangoapps/courseware/features/lti.py:45
@shard_1 @requires_stub_lti
Scenario: Graded LTI component in LMS is correctly works # lms/djangoapps/courseware/features/lti.feature:44
Given the course has correct LTI credentials with registered Instructor # lms/djangoapps/courseware/features/lti.py:75
And the course has an LTI component with correct fields: # lms/djangoapps/courseware/features/lti.py:95
| open_in_a_new_page | weight | is_graded | has_score |
| False | 10 | True | True |
And I submit answer to LTI 1 question # lms/djangoapps/courseware/features/lti.py:290
And I click on the "Progress" tab # lms/djangoapps/courseware/features/courseware_common.py:14
Then I see text "Problem Scores: 5/10" # lms/djangoapps/courseware/features/lti.py:259
And I see graph with total progress "5%" # lms/djangoapps/courseware/features/lti.py:264
Traceback (most recent call last):
File "/edx/app/edxapp/venvs/edxapp/src/lettuce/lettuce/core.py", line 144, in __call__
ret = self.function(self.step, *args, **kw)
File "/edx/app/edxapp/edx-platform/lms/djangoapps/courseware/features/lti.py", line 272, in see_graph
assert node
AssertionError
Then I click on the "Instructor" tab # lms/djangoapps/courseware/features/courseware_common.py:14
And I click on the "Student Admin" tab # lms/djangoapps/courseware/features/courseware_common.py:14
And I click on the "View Gradebook" link # lms/djangoapps/courseware/features/courseware_common.py:19
And I see in the gradebook table that "HW" is "50" # lms/djangoapps/courseware/features/lti.py:276
And I see in the gradebook table that "Total" is "5" # lms/djangoapps/courseware/features/lti.py:276
@shard_1 @requires_stub_lti
Scenario: Graded LTI component in LMS role's masquerading correctly works# lms/djangoapps/courseware/features/lti.feature:60
Given the course has correct LTI credentials with registered Instructor # lms/djangoapps/courseware/features/lti.py:75
And the course has an LTI component with correct fields: # lms/djangoapps/courseware/features/lti.py:95
| open_in_a_new_page | has_score |
| False | True |
And I view the LTI and it is rendered in iframe # lms/djangoapps/courseware/features/lti.py:45
And I see in iframe that LTI role is Instructor # lms/djangoapps/courseware/features/lti.py:315
And I switch to Student view # lms/djangoapps/courseware/features/lti.py:330
Then I see in iframe that LTI role is Student # lms/djangoapps/courseware/features/lti.py:315
Traceback (most recent call last):
File "/edx/app/edxapp/venvs/edxapp/src/lettuce/lettuce/core.py", line 144, in __call__
ret = self.function(self.step, *args, **kw)
File "/edx/app/edxapp/edx-platform/lms/djangoapps/courseware/features/lti.py", line 319, in check_role
with world.browser.get_iframe(iframe_name) as iframe:
File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
return self.gen.next()
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/splinter/driver/webdriver/__init__.py", line 155, in get_iframe
self.driver.switch_to_frame(id)
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 506, in switch_to_frame
self._switch_to.frame(frame_reference)
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/selenium/webdriver/remote/switch_to.py", line 64, in frame
self._driver.execute(Command.SWITCH_TO_FRAME, {'id': frame_reference})
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 173, in execute
self.error_handler.check_response(response)
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 164, in check_response
raise exception_class(message, screen, stacktrace)
NoSuchFrameException: Message: u'no such frame\n (Session info: chrome=30.0.1599.114)\n (Driver info: chromedriver=2.6.232917,platform=Linux 3.2.0-23-generic x86_64)'
@shard_1 @requires_stub_lti
Scenario: Graded LTI component in LMS is correctly works with beta testers# lms/djangoapps/courseware/features/lti.feature:71
Given the course has correct LTI credentials with registered BetaTester # lms/djangoapps/courseware/features/lti.py:75
And the course has an LTI component with correct fields: # lms/djangoapps/courseware/features/lti.py:95
| open_in_a_new_page | weight | is_graded | has_score |
| False | 10 | True | True |
And I submit answer to LTI 1 question # lms/djangoapps/courseware/features/lti.py:290
And I click on the "Progress" tab # lms/djangoapps/courseware/features/courseware_common.py:14
Then I see text "Problem Scores: 5/10" # lms/djangoapps/courseware/features/lti.py:259
And I see graph with total progress "5%" # lms/djangoapps/courseware/features/lti.py:264
@shard_1 @requires_stub_lti
Scenario: Graded LTI component in LMS is correctly works with LTI2v0 PUT callback# lms/djangoapps/courseware/features/lti.feature:82
Given the course has correct LTI credentials with registered Instructor # lms/djangoapps/courseware/features/lti.py:75
And the course has an LTI component with correct fields: # lms/djangoapps/courseware/features/lti.py:95
| open_in_a_new_page | weight | is_graded | has_score |
| False | 10 | True | True |
And I submit answer to LTI 2 question # lms/djangoapps/courseware/features/lti.py:290
And I click on the "Progress" tab # lms/djangoapps/courseware/features/courseware_common.py:14
Then I see text "Problem Scores: 8/10" # lms/djangoapps/courseware/features/lti.py:259
And I see graph with total progress "8%" # lms/djangoapps/courseware/features/lti.py:264
Then I click on the "Instructor" tab # lms/djangoapps/courseware/features/courseware_common.py:14
And I click on the "Student Admin" tab # lms/djangoapps/courseware/features/courseware_common.py:14
And I click on the "View Gradebook" link # lms/djangoapps/courseware/features/courseware_common.py:19
And I see in the gradebook table that "HW" is "80" # lms/djangoapps/courseware/features/lti.py:276
And I see in the gradebook table that "Total" is "8" # lms/djangoapps/courseware/features/lti.py:276
And I visit the LTI component # lms/djangoapps/courseware/features/lti.py:243
Then I see LTI component progress with text "(8.0 / 10.0 points)" # lms/djangoapps/courseware/features/lti.py:248
Then I see LTI component feedback with text "This is awesome." # lms/djangoapps/courseware/features/lti.py:248
@shard_1 @requires_stub_lti
Scenario: Graded LTI component in LMS is correctly works with LTI2v0 PUT delete callback# lms/djangoapps/courseware/features/lti.feature:101
Given the course has correct LTI credentials with registered Instructor # lms/djangoapps/courseware/features/lti.py:75
And the course has an LTI component with correct fields: # lms/djangoapps/courseware/features/lti.py:95
| open_in_a_new_page | weight | is_graded | has_score |
| False | 10 | True | True |
And I submit answer to LTI 2 question # lms/djangoapps/courseware/features/lti.py:290
And I visit the LTI component # lms/djangoapps/courseware/features/lti.py:243
Then I see LTI component progress with text "(8.0 / 10.0 points)" # lms/djangoapps/courseware/features/lti.py:248
Then I see LTI component feedback with text "This is awesome." # lms/djangoapps/courseware/features/lti.py:248
And the LTI provider deletes my grade and feedback # lms/djangoapps/courseware/features/lti.py:304
And I visit the LTI component (have to reload) # lms/djangoapps/courseware/features/lti.py:243
Then I see LTI component progress with text "(10.0 points possible)" # lms/djangoapps/courseware/features/lti.py:248
Then in the LTI component I do not see feedback # lms/djangoapps/courseware/features/lti.py:338
And I click on the "Progress" tab # lms/djangoapps/courseware/features/courseware_common.py:14
Then I see text "Problem Scores: 0/10" # lms/djangoapps/courseware/features/lti.py:259
And I see graph with total progress "0%" # lms/djangoapps/courseware/features/lti.py:264
Then I click on the "Instructor" tab # lms/djangoapps/courseware/features/courseware_common.py:14
And I click on the "Student Admin" tab # lms/djangoapps/courseware/features/courseware_common.py:14
And I click on the "View Gradebook" link # lms/djangoapps/courseware/features/courseware_common.py:19
And I see in the gradebook table that "HW" is "0" # lms/djangoapps/courseware/features/lti.py:276
And I see in the gradebook table that "Total" is "0" # lms/djangoapps/courseware/features/lti.py:276
@shard_1 @requires_stub_lti
Scenario: LTI component that set to hide_launch and open_in_a_new_page shows no button# lms/djangoapps/courseware/features/lti.feature:124
Given the course has correct LTI credentials with registered Instructor # lms/djangoapps/courseware/features/lti.py:75
And the course has an LTI component with correct fields: # lms/djangoapps/courseware/features/lti.py:95
| open_in_a_new_page | hide_launch |
| False | True |
Then in the LTI component I do not see a launch button # lms/djangoapps/courseware/features/lti.py:338
Then I see LTI component module title with text "LTI (EXTERNAL RESOURCE)" # lms/djangoapps/courseware/features/lti.py:248
@shard_1 @requires_stub_lti
Scenario: LTI component that set to hide_launch and not open_in_a_new_page shows no iframe# lms/djangoapps/courseware/features/lti.feature:133
Given the course has correct LTI credentials with registered Instructor # lms/djangoapps/courseware/features/lti.py:75
And the course has an LTI component with correct fields: # lms/djangoapps/courseware/features/lti.py:95
| open_in_a_new_page | hide_launch |
| True | True |
Then in the LTI component I do not see an provider iframe # lms/djangoapps/courseware/features/lti.py:338
Then I see LTI component module title with text "LTI (EXTERNAL RESOURCE)" # lms/djangoapps/courseware/features/lti.py:248
Feature: LMS.Navigate Course # lms/djangoapps/courseware/features/navigation.feature:2
As a student in an edX course # lms/djangoapps/courseware/features/navigation.feature:3
In order to access courseware # lms/djangoapps/courseware/features/navigation.feature:4
I want to be able to navigate through the content # lms/djangoapps/courseware/features/navigation.feature:5
@shard_1
Scenario: I can navigate to a section # lms/djangoapps/courseware/features/navigation.feature:7
Given I am viewing a course with multiple sections # lms/djangoapps/courseware/features/navigation.py:12
When I navigate to a section # lms/djangoapps/courseware/features/navigation.py:91
Then I see the content of the section # lms/djangoapps/courseware/features/navigation.py:117
@shard_1
Scenario: I can navigate to subsections # lms/djangoapps/courseware/features/navigation.feature:12
Given I am viewing a section with multiple subsections # lms/djangoapps/courseware/features/navigation.py:44
When I navigate to a subsection # lms/djangoapps/courseware/features/navigation.py:104
Then I see the content of the subsection # lms/djangoapps/courseware/features/navigation.py:122
@shard_1
Scenario: I can navigate to sequences # lms/djangoapps/courseware/features/navigation.feature:17
Given I am viewing a section with multiple sequences # lms/djangoapps/courseware/features/navigation.py:70
When I navigate to an item in a sequence # lms/djangoapps/courseware/features/navigation.py:111
Then I see the content of the sequence item # lms/djangoapps/courseware/features/navigation.py:127
And a "seq_goto" browser event is emitted # lms/djangoapps/courseware/features/events.py:40
@shard_1
Scenario: I can return to the last section I visited# lms/djangoapps/courseware/features/navigation.feature:23
Given I am viewing a course with multiple sections # lms/djangoapps/courseware/features/navigation.py:12
When I navigate to a section # lms/djangoapps/courseware/features/navigation.py:91
And I see the content of the section # lms/djangoapps/courseware/features/navigation.py:117
And I return to the courseware # lms/djangoapps/courseware/features/navigation.py:132
Then I see that I was most recently in the subsection # lms/djangoapps/courseware/features/navigation.py:139
Feature: LMS.Answer problems # lms/djangoapps/courseware/features/problems.feature:2
As a student in an edX course # lms/djangoapps/courseware/features/problems.feature:3
In order to test my understanding of the material # lms/djangoapps/courseware/features/problems.feature:4
I want to answer problems # lms/djangoapps/courseware/features/problems.feature:5
@shard_1 @requires_stub_xqueue
Scenario Outline: I can answer a problem correctly # lms/djangoapps/courseware/features/problems.feature:7
Given External graders respond "correct" # lms/djangoapps/courseware/features/problems.py:42
And I am viewing a "<ProblemType>" problem # lms/djangoapps/courseware/features/problems.py:37
When I answer a "<ProblemType>" problem "correctly" # lms/djangoapps/courseware/features/problems.py:57
Then my "<ProblemType>" answer is marked "correct" # lms/djangoapps/courseware/features/problems.py:150
And The "<ProblemType>" problem displays a "correct" answer # lms/djangoapps/courseware/features/problems.py:92
And a "problem_check" server event is emitted # lms/djangoapps/courseware/features/events.py:40
And a "problem_check" browser event is emitted # lms/djangoapps/courseware/features/events.py:40
Examples:
| ProblemType |
| drop down |
| multiple choice |
| checkbox |
| radio |
| string |
| numerical |
| formula |
| script |
| code |
| radio_text |
| checkbox_text |
| image |
@shard_1 @requires_stub_xqueue
Scenario Outline: I can answer a problem incorrectly # lms/djangoapps/courseware/features/problems.feature:31
Given External graders respond "incorrect" # lms/djangoapps/courseware/features/problems.py:42
And I am viewing a "<ProblemType>" problem # lms/djangoapps/courseware/features/problems.py:37
When I answer a "<ProblemType>" problem "incorrectly" # lms/djangoapps/courseware/features/problems.py:57
Then my "<ProblemType>" answer is marked "incorrect" # lms/djangoapps/courseware/features/problems.py:150
And The "<ProblemType>" problem displays a "incorrect" answer # lms/djangoapps/courseware/features/problems.py:92
Examples:
| ProblemType |
| drop down |
| multiple choice |
| checkbox |
| radio |
| string |
| numerical |
| formula |
| script |
| code |
| radio_text |
| checkbox_text |
| image |
@shard_1 @requires_stub_xqueue
Scenario Outline: I can submit a blank answer # lms/djangoapps/courseware/features/problems.feature:53
Given I am viewing a "<ProblemType>" problem # lms/djangoapps/courseware/features/problems.py:37
When I check a problem # lms/djangoapps/courseware/features/problems.py:81
Then my "<ProblemType>" answer is marked "incorrect" # lms/djangoapps/courseware/features/problems.py:150
And The "<ProblemType>" problem displays a "blank" answer # lms/djangoapps/courseware/features/problems.py:92
Examples:
| ProblemType |
| drop down |
| multiple choice |
| checkbox |
| radio |
| string |
| numerical |
| formula |
| script |
| radio_text |
| checkbox_text |
| image |
@shard_1 @requires_stub_xqueue
Scenario Outline: I can reset a problem # lms/djangoapps/courseware/features/problems.feature:74
Given I am viewing a "<ProblemType>" problem # lms/djangoapps/courseware/features/problems.py:37
And I answer a "<ProblemType>" problem "<Correctness>ly" # lms/djangoapps/courseware/features/problems.py:57
When I reset the problem # lms/djangoapps/courseware/features/problems.py:107
Then my "<ProblemType>" answer is marked "unanswered" # lms/djangoapps/courseware/features/problems.py:150
And The "<ProblemType>" problem displays a "blank" answer # lms/djangoapps/courseware/features/problems.py:92
Examples:
| ProblemType | Correctness |
| drop down | correct |
| drop down | incorrect |
| multiple choice | correct |
| multiple choice | incorrect |
| checkbox | correct |
| checkbox | incorrect |
| radio | correct |
| radio | incorrect |
| string | correct |
| string | incorrect |
| numerical | correct |
| numerical | incorrect |
| formula | correct |
| formula | incorrect |
| script | correct |
| script | incorrect |
| radio_text | correct |
| radio_text | incorrect |
| checkbox_text | correct |
| checkbox_text | incorrect |
| image | correct |
| image | incorrect |
@shard_1 @requires_stub_xqueue
Scenario: I can answer a problem with one attempt correctly and not reset# lms/djangoapps/courseware/features/problems.feature:107
Given I am viewing a "multiple choice" problem with "1" attempt # lms/djangoapps/courseware/features/problems.py:27
When I answer a "multiple choice" problem "correctly" # lms/djangoapps/courseware/features/problems.py:57
Then The "Reset" button does not appear # lms/djangoapps/courseware/features/problems.py:123
@shard_1 @requires_stub_xqueue
Scenario: I can answer a problem with multiple attempts correctly and still reset the problem# lms/djangoapps/courseware/features/problems.feature:112
Given I am viewing a "multiple choice" problem with "3" attempts # lms/djangoapps/courseware/features/problems.py:27
Then I should see "You have used 0 of 3 submissions" somewhere in the page # common/djangoapps/terrain/steps.py:151
When I answer a "multiple choice" problem "correctly" # lms/djangoapps/courseware/features/problems.py:57
Then The "Reset" button does appear # lms/djangoapps/courseware/features/problems.py:123
@shard_1 @requires_stub_xqueue
Scenario: I can view how many attempts I have left on a problem# lms/djangoapps/courseware/features/problems.feature:118
Given I am viewing a "multiple choice" problem with "3" attempts # lms/djangoapps/courseware/features/problems.py:27
Then I should see "You have used 0 of 3 submissions" somewhere in the page # common/djangoapps/terrain/steps.py:151
When I answer a "multiple choice" problem "incorrectly" # lms/djangoapps/courseware/features/problems.py:57
And I reset the problem # lms/djangoapps/courseware/features/problems.py:107
Then I should see "You have used 1 of 3 submissions" somewhere in the page # common/djangoapps/terrain/steps.py:151
When I answer a "multiple choice" problem "incorrectly" # lms/djangoapps/courseware/features/problems.py:57
And I reset the problem # lms/djangoapps/courseware/features/problems.py:107
Then I should see "You have used 2 of 3 submissions" somewhere in the page # common/djangoapps/terrain/steps.py:151
And The "Final Check" button does appear # lms/djangoapps/courseware/features/problems.py:123
When I answer a "multiple choice" problem "correctly" # lms/djangoapps/courseware/features/problems.py:57
Then The "Reset" button does not appear # lms/djangoapps/courseware/features/problems.py:123
@shard_1 @requires_stub_xqueue
Scenario: I can view and hide the answer if the problem has it:# lms/djangoapps/courseware/features/problems.feature:131
Given I am viewing a "numerical" that shows the answer "always" # lms/djangoapps/courseware/features/problems.py:32
When I press the button with the label "Show Answer" # lms/djangoapps/courseware/features/problems.py:115
Then the Show/Hide button label is "Hide Answer" # lms/djangoapps/courseware/features/problems.py:132
And I should see "4.14159" somewhere in the page # common/djangoapps/terrain/steps.py:151
When I press the button with the label "Hide Answer" # lms/djangoapps/courseware/features/problems.py:115
Then the Show/Hide button label is "Show Answer" # lms/djangoapps/courseware/features/problems.py:132
And I should not see "4.14159" anywhere on the page # common/djangoapps/terrain/steps.py:151
@shard_1 @requires_stub_xqueue
Scenario Outline: I can see my score on a problem when I answer it and after I reset it# lms/djangoapps/courseware/features/problems.feature:140
Given I am viewing a "<ProblemType>" problem # lms/djangoapps/courseware/features/problems.py:37
When I answer a "<ProblemType>" problem "<Correctness>ly" # lms/djangoapps/courseware/features/problems.py:57
Then I should see a score of "<Score>" # lms/djangoapps/courseware/features/problems.py:140
When I reset the problem # lms/djangoapps/courseware/features/problems.py:107
Then I should see a score of "<Points Possible>" # lms/djangoapps/courseware/features/problems.py:140
Examples:
| ProblemType | Correctness | Score | Points Possible |
| drop down | correct | 1/1 point | 1 point possible |
| drop down | incorrect | 1 point possible | 1 point possible |
| multiple choice | correct | 1/1 point | 1 point possible |
| multiple choice | incorrect | 1 point possible | 1 point possible |
| checkbox | correct | 1/1 point | 1 point possible |
| checkbox | incorrect | 1 point possible | 1 point possible |
| radio | correct | 1/1 point | 1 point possible |
| radio | incorrect | 1 point possible | 1 point possible |
| string | correct | 1/1 point | 1 point possible |
| string | incorrect | 1 point possible | 1 point possible |
| numerical | correct | 1/1 point | 1 point possible |
| numerical | incorrect | 1 point possible | 1 point possible |
| formula | correct | 1/1 point | 1 point possible |
| formula | incorrect | 1 point possible | 1 point possible |
| script | correct | 2/2 points | 2 points possible |
| script | incorrect | 2 points possible | 2 points possible |
| image | correct | 1/1 point | 1 point possible |
| image | incorrect | 1 point possible | 1 point possible |
@shard_1 @requires_stub_xqueue
Scenario Outline: I can see my score on a problem to which I submit a blank answer# lms/djangoapps/courseware/features/problems.feature:168
Given I am viewing a "<ProblemType>" problem # lms/djangoapps/courseware/features/problems.py:37
When I check a problem # lms/djangoapps/courseware/features/problems.py:81
Then I should see a score of "<Points Possible>" # lms/djangoapps/courseware/features/problems.py:140
Examples:
| ProblemType | Points Possible |
| drop down | 1 point possible |
| multiple choice | 1 point possible |
| checkbox | 1 point possible |
| radio | 1 point possible |
| string | 1 point possible |
| numerical | 1 point possible |
| formula | 1 point possible |
| script | 2 points possible |
| image | 1 point possible |
@shard_1 @requires_stub_xqueue
Scenario Outline: I can reset the correctness of a problem after changing my answer# lms/djangoapps/courseware/features/problems.feature:186
Given I am viewing a "<ProblemType>" problem # lms/djangoapps/courseware/features/problems.py:37
Then my "<ProblemType>" answer is marked "unanswered" # lms/djangoapps/courseware/features/problems.py:150
When I answer a "<ProblemType>" problem "<InitialCorrectness>ly" # lms/djangoapps/courseware/features/problems.py:57
And I input an answer on a "<ProblemType>" problem "<OtherCorrectness>ly" # lms/djangoapps/courseware/features/problems.py:71
Then my "<ProblemType>" answer is marked "unanswered" # lms/djangoapps/courseware/features/problems.py:150
And I reset the problem # lms/djangoapps/courseware/features/problems.py:107
Examples:
| ProblemType | InitialCorrectness | OtherCorrectness |
| drop down | correct | incorrect |
| drop down | incorrect | correct |
| checkbox | correct | incorrect |
| checkbox | incorrect | correct |
| string | correct | incorrect |
| string | incorrect | correct |
| numerical | correct | incorrect |
| numerical | incorrect | correct |
| formula | correct | incorrect |
| formula | incorrect | correct |
| script | correct | incorrect |
| script | incorrect | correct |
@shard_1 @requires_stub_xqueue
Scenario Outline: I can reset the correctness of a radiogroup problem after changing my answer# lms/djangoapps/courseware/features/problems.feature:214
Given I am viewing a "<ProblemType>" problem # lms/djangoapps/courseware/features/problems.py:37
When I answer a "<ProblemType>" problem "<InitialCorrectness>ly" # lms/djangoapps/courseware/features/problems.py:57
Then my "<ProblemType>" answer is marked "<InitialCorrectness>" # lms/djangoapps/courseware/features/problems.py:150
And I input an answer on a "<ProblemType>" problem "<OtherCorrectness>ly" # lms/djangoapps/courseware/features/problems.py:71
Then my "<ProblemType>" answer is NOT marked "<InitialCorrectness>" # lms/djangoapps/courseware/features/problems.py:150
And my "<ProblemType>" answer is NOT marked "<OtherCorrectness>" # lms/djangoapps/courseware/features/problems.py:150
And I reset the problem # lms/djangoapps/courseware/features/problems.py:107
Examples:
| ProblemType | InitialCorrectness | OtherCorrectness |
| multiple choice | correct | incorrect |
| multiple choice | incorrect | correct |
| radio | correct | incorrect |
| radio | incorrect | correct |
@shard_1 @requires_stub_xqueue
Scenario Outline: I can reset the correctness of a problem after submitting a blank answer# lms/djangoapps/courseware/features/problems.feature:231
Given I am viewing a "<ProblemType>" problem # lms/djangoapps/courseware/features/problems.py:37
When I check a problem # lms/djangoapps/courseware/features/problems.py:81
And I input an answer on a "<ProblemType>" problem "correctly" # lms/djangoapps/courseware/features/problems.py:71
Then my "<ProblemType>" answer is marked "unanswered" # lms/djangoapps/courseware/features/problems.py:150
Examples:
| ProblemType |
| drop down |
| multiple choice |
| checkbox |
| radio |
| string |
| numerical |
| formula |
| script |
Feature: LMS.Register for a course # lms/djangoapps/courseware/features/registration.feature:2
As a registered user # lms/djangoapps/courseware/features/registration.feature:3
In order to access my class content # lms/djangoapps/courseware/features/registration.feature:4
I want to register for a class on the edX website # lms/djangoapps/courseware/features/registration.feature:5
@shard_1
Scenario: I can register for a course # lms/djangoapps/courseware/features/registration.feature:7
Given The course "6.002x" exists # lms/djangoapps/courseware/features/common.py:60
And I am logged in # common/djangoapps/terrain/steps.py:163
And I visit the courses page # common/djangoapps/terrain/steps.py:66
When I register for the course "6.002x" # lms/djangoapps/courseware/features/registration.py:9
Then I should see the course numbered "6.002x" in my dashboard # lms/djangoapps/courseware/features/registration.py:33
And a "edx.course.enrollment.activated" server event is emitted # lms/djangoapps/courseware/features/events.py:40
@shard_1
Scenario: I can unregister for a course # lms/djangoapps/courseware/features/registration.feature:15
Given I am registered for the course "6.002x" # lms/djangoapps/courseware/features/common.py:91
And I visit the dashboard # common/djangoapps/terrain/steps.py:54
Then I should see the course numbered "6.002x" in my dashboard # lms/djangoapps/courseware/features/registration.py:33
When I unregister for the course numbered "6.002x" # lms/djangoapps/courseware/features/registration.py:42
Then I should be on the dashboard page # common/djangoapps/terrain/steps.py:60
And I should see an empty dashboard message # lms/djangoapps/courseware/features/registration.py:27
And I should NOT see the course numbered "6.002x" in my dashboard # lms/djangoapps/courseware/features/registration.py:33
And a "edx.course.enrollment.deactivated" server event is emitted # lms/djangoapps/courseware/features/events.py:40
Feature: LMS.Sign in # lms/djangoapps/courseware/features/signup.feature:2
In order to use the edX content # lms/djangoapps/courseware/features/signup.feature:3
As a new user # lms/djangoapps/courseware/features/signup.feature:4
I want to signup for a student account # lms/djangoapps/courseware/features/signup.feature:5
@skip_firefox @shard_2
Scenario: Sign up from the homepage # lms/djangoapps/courseware/features/signup.feature:9
Given I visit the homepage # common/djangoapps/terrain/steps.py:48
When I click the link with the text "Register Now" # common/djangoapps/terrain/steps.py:122
And I fill in "email" on the registration form with "[email protected]" # lms/djangoapps/courseware/features/signup.py:8
And I fill in "password" on the registration form with "test" # lms/djangoapps/courseware/features/signup.py:8
And I fill in "username" on the registration form with "robot2" # lms/djangoapps/courseware/features/signup.py:8
And I fill in "name" on the registration form with "Robot Two" # lms/djangoapps/courseware/features/signup.py:8
And I check the checkbox named "terms_of_service" # lms/djangoapps/courseware/features/signup.py:25
And I check the checkbox named "honor_code" # lms/djangoapps/courseware/features/signup.py:25
And I submit the registration form # lms/djangoapps/courseware/features/signup.py:17
Then I should see "THANKS FOR REGISTERING!" in the dashboard banner # lms/djangoapps/courseware/features/signup.py:31
Feature: LMS.Debug staff info links # lms/djangoapps/courseware/features/staff_debug_info.feature:2
As a course staff in an edX course # lms/djangoapps/courseware/features/staff_debug_info.feature:3
In order to test my understanding of the material # lms/djangoapps/courseware/features/staff_debug_info.feature:4
I want to click on staff debug info links # lms/djangoapps/courseware/features/staff_debug_info.feature:5
@shard_1
Scenario: I can reset student attempts # lms/djangoapps/courseware/features/staff_debug_info.feature:7
When i am staff member for the course "model_course" # lms/djangoapps/courseware/features/staff_debug_info.py:13
And I am viewing a "multiple choice" problem # lms/djangoapps/courseware/features/problems.py:37
And I can view staff debug info # lms/djangoapps/courseware/features/staff_debug_info.py:29
Then I can reset student attempts # lms/djangoapps/courseware/features/staff_debug_info.py:36
Then I cannot see delete student state link # lms/djangoapps/courseware/features/staff_debug_info.py:43
Then I cannot see rescore student submission link # lms/djangoapps/courseware/features/staff_debug_info.py:49
Feature: LMS.Video component # lms/djangoapps/courseware/features/video.feature:2
As a student, I want to view course videos in LMS # lms/djangoapps/courseware/features/video.feature:3
@shard_2 @requires_stub_youtube
Scenario: Verify that each video in each sub-section includes a transcript for non-Youtube countries# lms/djangoapps/courseware/features/video.feature:6
Given youtube server is up and response time is 2 seconds # lms/djangoapps/courseware/features/video.py:388
And I am registered for the course "test_course" # lms/djangoapps/courseware/features/common.py:91
And I have a "subs_OEoXaMPEzfM.srt.sjson" transcript file in assets # lms/djangoapps/courseware/features/video.py:555
And I have a "subs_b7xgknqkQk8.srt.sjson" transcript file in assets # lms/djangoapps/courseware/features/video.py:555
And I have a "chinese_transcripts.srt" transcript file in assets # lms/djangoapps/courseware/features/video.py:555
And it has videos "A, B" in "Youtube_HTML5" mode in position "1" of sequential: # lms/djangoapps/courseware/features/video.py:353
| sub |
| OEoXaMPEzfM |
| b7xgknqkQk8 |
And a video "C" in "Youtube_HTML5" mode in position "2" of sequential: # lms/djangoapps/courseware/features/video.py:353
| transcripts |
| {u'zh': u'chinese_transcripts.srt'} |
And a video "D" in "Youtube_HTML5" mode in position "3" of sequential # lms/djangoapps/courseware/features/video.py:353
preview.localhost - - [08/Oct/2014 15:18:19] "GET /gizmo.mp4?1412795899565 HTTP/1.1" 200 -
preview.localhost - - [08/Oct/2014 15:18:19] "GET /gizmo.mp4?1412795899650 HTTP/1.1" 200 -
And I open the section with videos # lms/djangoapps/courseware/features/video.py:360
Then videos have rendered in "HTML5" mode # lms/djangoapps/courseware/features/video.py:404
And I see text in the captions: # lms/djangoapps/courseware/features/video.py:477
| text |
| Hi, welcome to Edx. |
| Equal transcripts |
preview.localhost - - [08/Oct/2014 15:18:20] "GET /gizmo.mp4?1412795900843 HTTP/1.1" 200 -
When I open video "C" # lms/djangoapps/courseware/features/video.py:377
Then the video has rendered in "HTML5" mode # lms/djangoapps/courseware/features/video.py:393
And I make sure captions are opened # lms/djangoapps/courseware/features/video.py:439
And I see "好 各位同学" text in the captions # lms/djangoapps/courseware/features/video.py:469
preview.localhost - - [08/Oct/2014 15:18:27] "GET /gizmo.mp4?1412795907754 HTTP/1.1" 200 -
When I open video "D" # lms/djangoapps/courseware/features/video.py:377
Then the video has rendered in "HTML5" mode # lms/djangoapps/courseware/features/video.py:393
And the video does not show the captions # lms/djangoapps/courseware/features/video.py:626
Feature: LMS.World Cloud component # lms/djangoapps/courseware/features/word_cloud.feature:2
As a student, I want to view Word Cloud component in LMS. # lms/djangoapps/courseware/features/word_cloud.feature:3
@shard_2
Scenario: Word Cloud component in LMS is rendered with empty result# lms/djangoapps/courseware/features/word_cloud.feature:5
Given the course has a Word Cloud component # lms/djangoapps/courseware/features/word_cloud.py:16
Then I view the word cloud and it has rendered # lms/djangoapps/courseware/features/word_cloud.py:11
When I press the Save button # lms/djangoapps/courseware/features/word_cloud.py:25
Then I see the empty result # lms/djangoapps/courseware/features/word_cloud.py:31
@shard_2
Scenario: Word Cloud component in LMS is rendered with result# lms/djangoapps/courseware/features/word_cloud.feature:11
Given the course has a Word Cloud component # lms/djangoapps/courseware/features/word_cloud.py:16
Then I view the word cloud and it has rendered # lms/djangoapps/courseware/features/word_cloud.py:11
When I fill inputs # lms/djangoapps/courseware/features/word_cloud.py:36
And I press the Save button # lms/djangoapps/courseware/features/word_cloud.py:25
Then I see the result with words count # lms/djangoapps/courseware/features/word_cloud.py:45
18 features (16 passed)
164 scenarios (161 passed)
888 steps (3 failed, 14 skipped, 871 passed)
List of failed scenarios:
Scenario: I can change my enrollment # lms/djangoapps/courseware/features/change_enrollment.feature:6
@shard_1 @requires_stub_lti
Scenario: Graded LTI component in LMS is correctly works # lms/djangoapps/courseware/features/lti.feature:44
@shard_1 @requires_stub_lti
Scenario: Graded LTI component in LMS role's masquerading correctly works# lms/djangoapps/courseware/features/lti.feature:60
Feature: LMS.Instructor Dash Bulk Email # lms/djangoapps/instructor/features/bulk_email.feature:2
As an instructor or course staff, # lms/djangoapps/instructor/features/bulk_email.feature:3
In order to communicate with students and staff # lms/djangoapps/instructor/features/bulk_email.feature:4
I want to send email to staff and students in a course. # lms/djangoapps/instructor/features/bulk_email.feature:5
@shard_2
Scenario Outline: Send bulk email # lms/djangoapps/instructor/features/bulk_email.feature:7
Given there is a course with a staff, instructor and student # lms/djangoapps/instructor/features/bulk_email.py:18
And I am logged in to the course as "<Role>" # lms/djangoapps/instructor/features/bulk_email.py:73
Installed 1 object(s) from 1 fixture(s)
When I send email to "<Recipient>" # lms/djangoapps/instructor/features/bulk_email.py:100
Then Email is sent to "<Recipient>" # lms/djangoapps/instructor/features/bulk_email.py:148
Examples:
| Role | Recipient |
| instructor | myself |
Installed 1 object(s) from 1 fixture(s)
| instructor | course staff |
Installed 1 object(s) from 1 fixture(s)
| instructor | students, staff, and instructors |
Installed 1 object(s) from 1 fixture(s)
| staff | myself |
Installed 1 object(s) from 1 fixture(s)
| staff | course staff |
Installed 1 object(s) from 1 fixture(s)
| staff | students, staff, and instructors |
Feature: LMS.Instructor Dash Data Download # lms/djangoapps/instructor/features/data_download.feature:2
As an instructor or course staff, # lms/djangoapps/instructor/features/data_download.feature:3
In order to manage my class # lms/djangoapps/instructor/features/data_download.feature:4
I want to view and download data information about my students. # lms/djangoapps/instructor/features/data_download.feature:5
@shard_2
Scenario Outline: List enrolled students' profile information # lms/djangoapps/instructor/features/data_download.feature:12
Given I am "<Role>" for a course # lms/djangoapps/instructor/features/common.py:29
When I click "List enrolled students' profile information" # lms/djangoapps/instructor/features/common.py:84
Then I see a table of student profiles # lms/djangoapps/instructor/features/data_download.py:16
Examples:
| Role |
| instructor |
| staff |
@shard_2
Scenario Outline: List enrolled students' profile information for a large course# lms/djangoapps/instructor/features/data_download.feature:21
Given I am "<Role>" for a very large course # lms/djangoapps/instructor/features/common.py:19
When I visit the "Data Download" tab # lms/djangoapps/instructor/features/common.py:123
Then I do not see a button to 'List enrolled students' profile information' # lms/djangoapps/instructor/features/data_download.py:44
Examples:
| Role |
| instructor |
| staff |
@shard_2
Scenario Outline: View the grading configuration # lms/djangoapps/instructor/features/data_download.feature:30
Given I am "<Role>" for a course # lms/djangoapps/instructor/features/common.py:29
When I click "Grading Configuration" # lms/djangoapps/instructor/features/common.py:84
Then I see the grading configuration for the course # lms/djangoapps/instructor/features/data_download.py:49
Examples:
| Role |
| instructor |
| staff |
@shard_2
Scenario Outline: Generate & download a grade report # lms/djangoapps/instructor/features/data_download.feature:39
Given I am "<Role>" for a course # lms/djangoapps/instructor/features/common.py:29
When I click "Generate Grade Report" # lms/djangoapps/instructor/features/common.py:84
Then I see a grade report csv file in the reports table # lms/djangoapps/instructor/features/data_download.py:72
Examples:
| Role |
| instructor |
| staff |
2 features (2 passed)
14 scenarios (14 passed)
48 steps (48 passed)
Cleaning up after lms acceptance
---> pavelib.utils.test.utils.clean_mongo
mongo localhost:27017 /edx/app/edxapp/edx-platform/scripts/delete-mongo-test-dbs.js
MongoDB shell version: 2.4.7
connecting to: localhost:27017/test
Setting up for cms acceptance
---> pavelib.assets.update_assets
python manage.py cms --settings=acceptance preprocess_assets
xmodule_assets common/static/xmodule
---> pavelib.assets.compile_coffeescript
node_modules/.bin/coffee --compile `find /edx/app/edxapp/edx-platform/lms /edx/app/edxapp/edx-platform/cms /edx/app/edxapp/edx-platform/common -type f -name "*.coffee"`
sass --style compressed --sourcemap --cache-location /tmp/sass-cache --load-path ./common/static/sass --update -E utf-8 */static
python manage.py cms --settings=acceptance collectstatic --noinput > /dev/null
./manage.py cms --settings acceptance harvest --traceback --debug-mode --verbosity 3 --with-xunit --xunit-file /edx/app/edxapp/edx-platform/reports/acceptance/cms.xml
========================================
Running tests for cms acceptance
========================================
Preparing to serve django's admin site static files...
Django's builtin server is running at 0.0.0.0:8003
Feature: CMS.Advanced (manual) course policy # cms/djangoapps/contentstore/features/advanced_settings.feature:2
In order to specify course policy settings for which no custom user interface exists # cms/djangoapps/contentstore/features/advanced_settings.feature:3
I want to be able to manually enter JSON key /value pairs # cms/djangoapps/contentstore/features/advanced_settings.feature:4
@shard_1
Scenario: A course author sees default advanced settings # cms/djangoapps/contentstore/features/advanced_settings.feature:7
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
When I select the Advanced Settings # cms/djangoapps/contentstore/features/advanced_settings.py:17
Then I see default advanced settings # cms/djangoapps/contentstore/features/advanced_settings.py:61
@shard_1
Scenario: Add new entries, and they appear alphabetically after save # cms/djangoapps/contentstore/features/advanced_settings.feature:12
Given I am on the Advanced Course Settings page in Studio # cms/djangoapps/contentstore/features/advanced_settings.py:35
Then the settings are alphabetized # cms/djangoapps/contentstore/features/advanced_settings.py:68
@skip_sauce @shard_1
Scenario: Test cancel editing key value # cms/djangoapps/contentstore/features/advanced_settings.feature:18
Given I am on the Advanced Course Settings page in Studio # cms/djangoapps/contentstore/features/advanced_settings.py:35
When I edit the value of a policy key # cms/djangoapps/contentstore/features/advanced_settings.py:41
And I press the "Cancel" notification button # cms/djangoapps/contentstore/features/common.py:87
Then the policy key value is unchanged # cms/djangoapps/contentstore/features/advanced_settings.py:96
And I reload the page # common/djangoapps/terrain/steps.py:36
Then the policy key value is unchanged # cms/djangoapps/contentstore/features/advanced_settings.py:96
@skip_sauce @shard_1
Scenario: Test editing key value # cms/djangoapps/contentstore/features/advanced_settings.feature:28
Given I am on the Advanced Course Settings page in Studio # cms/djangoapps/contentstore/features/advanced_settings.py:35
When I edit the value of a policy key and save # cms/djangoapps/contentstore/features/advanced_settings.py:46
Then the policy key value is changed # cms/djangoapps/contentstore/features/advanced_settings.py:101
And I reload the page # common/djangoapps/terrain/steps.py:36
Then the policy key value is changed # cms/djangoapps/contentstore/features/advanced_settings.py:101
@skip_sauce @shard_1
Scenario: Test how multi-line input appears # cms/djangoapps/contentstore/features/advanced_settings.feature:37
Given I am on the Advanced Course Settings page in Studio # cms/djangoapps/contentstore/features/advanced_settings.py:35
When I create a JSON object as a value for "Discussion Topic Mapping" # cms/djangoapps/contentstore/features/advanced_settings.py:51
Then it is displayed as formatted # cms/djangoapps/contentstore/features/advanced_settings.py:78
And I reload the page # common/djangoapps/terrain/steps.py:36
Then it is displayed as formatted # cms/djangoapps/contentstore/features/advanced_settings.py:78
@skip_sauce @shard_1
Scenario: Test error if value supplied is of the wrong type # cms/djangoapps/contentstore/features/advanced_settings.feature:46
Given I am on the Advanced Course Settings page in Studio # cms/djangoapps/contentstore/features/advanced_settings.py:35
When I create a JSON object as a value for "Course Display Name" # cms/djangoapps/contentstore/features/advanced_settings.py:51
Then I get an error on save # cms/djangoapps/contentstore/features/advanced_settings.py:83
And I reload the page # common/djangoapps/terrain/steps.py:36
Then the policy key value is unchanged # cms/djangoapps/contentstore/features/advanced_settings.py:96
@skip_sauce @shard_1
Scenario: Test automatic quoting of non-JSON values # cms/djangoapps/contentstore/features/advanced_settings.feature:56
Given I am on the Advanced Course Settings page in Studio # cms/djangoapps/contentstore/features/advanced_settings.py:35
When I create a non-JSON value not in quotes # cms/djangoapps/contentstore/features/advanced_settings.py:56
Then it is displayed as a string # cms/djangoapps/contentstore/features/advanced_settings.py:91
And I reload the page # common/djangoapps/terrain/steps.py:36
Then it is displayed as a string # cms/djangoapps/contentstore/features/advanced_settings.py:91
@skip_sauce @shard_1
Scenario: Confirmation is shown on save # cms/djangoapps/contentstore/features/advanced_settings.feature:65
Given I am on the Advanced Course Settings page in Studio # cms/djangoapps/contentstore/features/advanced_settings.py:35
When I edit the value of a policy key # cms/djangoapps/contentstore/features/advanced_settings.py:41
And I press the "Save" notification button # cms/djangoapps/contentstore/features/common.py:87
Then I see a confirmation that my changes have been saved # cms/djangoapps/contentstore/features/common.py:124
@shard_1
Scenario: Deprecated Settings are not shown by default # cms/djangoapps/contentstore/features/advanced_settings.feature:71
Given I am on the Advanced Course Settings page in Studio # cms/djangoapps/contentstore/features/advanced_settings.py:35
Then deprecated settings are not shown # cms/djangoapps/contentstore/features/advanced_settings.py:106
@shard_1
Scenario: Deprecated Settings can be toggled # cms/djangoapps/contentstore/features/advanced_settings.feature:75
Given I am on the Advanced Course Settings page in Studio # cms/djangoapps/contentstore/features/advanced_settings.py:35
When I toggle the display of deprecated settings # cms/djangoapps/contentstore/features/advanced_settings.py:115
Then deprecated settings are then shown # cms/djangoapps/contentstore/features/advanced_settings.py:106
And I toggle the display of deprecated settings # cms/djangoapps/contentstore/features/advanced_settings.py:115
Then deprecated settings are not shown # cms/djangoapps/contentstore/features/advanced_settings.py:106
Feature: CMS.Course checklists # cms/djangoapps/contentstore/features/checklists.feature:2
@shard_1
Scenario: A course author sees checklists defined by edX # cms/djangoapps/contentstore/features/checklists.feature:4
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
When I select Checklists from the Tools menu # cms/djangoapps/contentstore/features/checklists.py:12
Then I see the four default edX checklists # cms/djangoapps/contentstore/features/checklists.py:26
@shard_1
Scenario: A course author can mark tasks as complete # cms/djangoapps/contentstore/features/checklists.feature:9
Given I have opened Checklists # cms/djangoapps/contentstore/features/checklists.py:20
Then I can check and uncheck tasks in a checklist # cms/djangoapps/contentstore/features/checklists.py:36
And I reload the page # common/djangoapps/terrain/steps.py:36
Then the tasks are correctly selected # cms/djangoapps/contentstore/features/checklists.py:50
@skip_firefox @skip_internetexplorer @skip_safari @shard_1
Scenario: A task can link to a location within Studio# cms/djangoapps/contentstore/features/checklists.feature:19
Given I have opened Checklists # cms/djangoapps/contentstore/features/checklists.py:20
When I select a link to the course outline # cms/djangoapps/contentstore/features/checklists.py:59
Then I am brought to the course outline page # cms/djangoapps/contentstore/features/checklists.py:64
And I press the browser back button # common/djangoapps/terrain/steps.py:43
Then I am brought back to the course outline in the correct state # cms/djangoapps/contentstore/features/checklists.py:70
@skip_firefox @skip_internetexplorer @skip_safari @shard_1
Scenario: A task can link to a location outside Studio# cms/djangoapps/contentstore/features/checklists.feature:30
Given I have opened Checklists # cms/djangoapps/contentstore/features/checklists.py:20
When I select a link to help page # cms/djangoapps/contentstore/features/checklists.py:78
Then I am brought to the help page in a new window # cms/djangoapps/contentstore/features/checklists.py:83
Feature: CMS.Component Adding # cms/djangoapps/contentstore/features/component.feature:2
As a course author, I want to be able to add a wide variety of components # cms/djangoapps/contentstore/features/component.feature:3
@shard_1
Scenario: I can add single step components # cms/djangoapps/contentstore/features/component.feature:5
Given I am in Studio editing a new unit # cms/djangoapps/contentstore/features/common.py:265
When I add this type of single step component: # cms/djangoapps/contentstore/features/component.py:15
| Component |
| Discussion |
| Video |
Then I see this type of single step component: # cms/djangoapps/contentstore/features/component.py:27
| Component |
| Discussion |
| Video |
@shard_1
Scenario: I can add HTML components # cms/djangoapps/contentstore/features/component.feature:16
Given I am in Studio editing a new unit # cms/djangoapps/contentstore/features/common.py:265
When I add this type of HTML component: # cms/djangoapps/contentstore/features/component.py:37
| Component |
| Text |
| Announcement |
| Zooming Image |
| Raw HTML |
Then I see HTML components in this order: # cms/djangoapps/contentstore/features/component.py:48
| Component |
| Text |
| Announcement |
| Zooming Image |
| Raw HTML |
@shard_1
Scenario: I can add Latex HTML components # cms/djangoapps/contentstore/features/component.feature:31
Given I am in Studio editing a new unit # cms/djangoapps/contentstore/features/common.py:265
Given I have enabled latex compiler # cms/djangoapps/contentstore/features/problem-editor.py:232
When I add this type of HTML component: # cms/djangoapps/contentstore/features/component.py:37
| Component |
| E-text Written in LaTeX |
Then I see HTML components in this order: # cms/djangoapps/contentstore/features/component.py:48
| Component |
| E-text Written in LaTeX |
@shard_1
Scenario: I can add Common Problem components # cms/djangoapps/contentstore/features/component.feature:41
Given I am in Studio editing a new unit # cms/djangoapps/contentstore/features/common.py:265
When I add this type of Problem component: # cms/djangoapps/contentstore/features/component.py:37
| Component |
| Blank Common Problem |
| Checkboxes |
| Dropdown |
| Multiple Choice |
| Numerical Input |
| Text Input |
Then I see Problem components in this order: # cms/djangoapps/contentstore/features/component.py:48
| Component |
| Blank Common Problem |
| Checkboxes |
| Dropdown |
| Multiple Choice |
| Numerical Input |
| Text Input |
@shard_1
Scenario Outline: I can add Advanced Problem components # cms/djangoapps/contentstore/features/component.feature:60
Given I am in Studio editing a new unit # cms/djangoapps/contentstore/features/common.py:265
When I add a "<Component>" "Advanced Problem" component # cms/djangoapps/contentstore/features/component.py:88
Then I see a "<Component>" Problem component # cms/djangoapps/contentstore/features/component.py:77
And I reset the database # cms/djangoapps/contentstore/features/common.py:110
Examples:
| Component |
| Blank Advanced Problem |
| Circuit Schematic Builder |
| Custom Python-Evaluated Input |
| Drag and Drop |
| Image Mapped Input |
| Math Expression Input |
| Problem with Adaptive Hint |
@shard_1
Scenario: I see a prompt on delete # cms/djangoapps/contentstore/features/component.feature:92
Given I am in Studio editing a new unit # cms/djangoapps/contentstore/features/common.py:265
And I add a "Discussion" "single step" component # cms/djangoapps/contentstore/features/component.py:88
And I delete a component # cms/djangoapps/contentstore/features/component.py:131
Then I am shown a prompt # cms/djangoapps/contentstore/features/common.py:314
@shard_1
Scenario: I can delete Components # cms/djangoapps/contentstore/features/component.feature:98
Given I am in Studio editing a new unit # cms/djangoapps/contentstore/features/common.py:265
And I add a "Discussion" "single step" component # cms/djangoapps/contentstore/features/component.py:88
And I add a "Text" "HTML" component # cms/djangoapps/contentstore/features/component.py:88
And I add a "Blank Common Problem" "Problem" component # cms/djangoapps/contentstore/features/component.py:88
And I add a "Blank Advanced Problem" "Advanced Problem" component # cms/djangoapps/contentstore/features/component.py:88
And I delete all components # cms/djangoapps/contentstore/features/component.py:95
Then I see no components # cms/djangoapps/contentstore/features/component.py:126
@shard_1
Scenario: I can duplicate a component # cms/djangoapps/contentstore/features/component.feature:107
Given I am in Studio editing a new unit # cms/djangoapps/contentstore/features/common.py:265
And I add a "Blank Common Problem" "Problem" component # cms/djangoapps/contentstore/features/component.py:88
And I add a "Multiple Choice" "Problem" component # cms/djangoapps/contentstore/features/component.py:88
And I duplicate the first component # cms/djangoapps/contentstore/features/component.py:142
Then I see a Problem component with display name "Duplicate of 'Blank Common Problem'" in position "1" # cms/djangoapps/contentstore/features/component.py:154
And I reload the page # common/djangoapps/terrain/steps.py:36
Then I see a Problem component with display name "Blank Common Problem" in position "0" # cms/djangoapps/contentstore/features/component.py:154
And I see a Problem component with display name "Duplicate of 'Blank Common Problem'" in position "1" # cms/djangoapps/contentstore/features/component.py:154
And I see a Problem component with display name "Multiple Choice" in position "2" # cms/djangoapps/contentstore/features/component.py:154
@shard_1
Scenario: I can set the display name of a component # cms/djangoapps/contentstore/features/component.feature:118
Given I am in Studio editing a new unit # cms/djangoapps/contentstore/features/common.py:265
When I add a "Text" "HTML" component # cms/djangoapps/contentstore/features/component.py:88
Then I see the display name is "Text" # cms/djangoapps/contentstore/features/component.py:164
When I change the display name to "I'm the Cuddliest!" # cms/djangoapps/contentstore/features/component.py:171
Then I see the display name is "I'm the Cuddliest!" # cms/djangoapps/contentstore/features/component.py:164
@shard_1
Scenario: If a component has no display name, the category is displayed # cms/djangoapps/contentstore/features/component.feature:125
Given I am in Studio editing a new unit # cms/djangoapps/contentstore/features/common.py:265
When I add a "Blank Advanced Problem" "Advanced Problem" component # cms/djangoapps/contentstore/features/component.py:88
Then I see the display name is "Blank Advanced Problem" # cms/djangoapps/contentstore/features/component.py:164
When I change the display name to "" # cms/djangoapps/contentstore/features/component.py:171
Then I see the display name is "problem" # cms/djangoapps/contentstore/features/component.py:164
When I unset the display name # cms/djangoapps/contentstore/features/component.py:179
Then I see the display name is "Blank Advanced Problem" # cms/djangoapps/contentstore/features/component.py:164
Feature: Course export # cms/djangoapps/contentstore/features/course-export.feature:2
I want to export my course to a tar.gz file to share with others or check into source control # cms/djangoapps/contentstore/features/course-export.feature:3
@shard_1
Scenario: User is directed to unit with bad XML when export fails # cms/djangoapps/contentstore/features/course-export.feature:5
Given I am in Studio editing a new unit # cms/djangoapps/contentstore/features/common.py:265
When I add a "Blank Advanced Problem" "Advanced Problem" component # cms/djangoapps/contentstore/features/component.py:88
And I edit and enter bad XML # cms/djangoapps/contentstore/features/course-export.py:26
And I export the course # cms/djangoapps/contentstore/features/course-export.py:20
Then I get an error dialog # cms/djangoapps/contentstore/features/course-export.py:46
And I can click to go to the unit with the error # cms/djangoapps/contentstore/features/course-export.py:51
Feature: CMS.Course Outline # cms/djangoapps/contentstore/features/course-outline.feature:2
In order to quickly view the details of a course's section and set release dates and grading # cms/djangoapps/contentstore/features/course-outline.feature:3
As a course author # cms/djangoapps/contentstore/features/course-outline.feature:4
I want to use the course outline page # cms/djangoapps/contentstore/features/course-outline.feature:5
@shard_1
Scenario: The default layout for the outline page is to show sections in expanded view# cms/djangoapps/contentstore/features/course-outline.feature:7
Given I have a course with multiple sections # cms/djangoapps/contentstore/features/course-outline.py:30
When I navigate to the course outline page # cms/djangoapps/contentstore/features/course-outline.py:52
Then I see the "Collapse All Sections" link # cms/djangoapps/contentstore/features/course-outline.py:83
And all sections are expanded # cms/djangoapps/contentstore/features/course-outline.py:120
@shard_1
Scenario: Expand /collapse for a course with no sections # cms/djangoapps/contentstore/features/course-outline.feature:13
Given I have a course with no sections # cms/djangoapps/contentstore/features/course-outline.py:13
When I navigate to the course outline page # cms/djangoapps/contentstore/features/course-outline.py:52
Then I do not see the "Collapse All Sections" link # cms/djangoapps/contentstore/features/course-outline.py:92
@shard_1
Scenario: Collapse link appears after creating first section of a course # cms/djangoapps/contentstore/features/course-outline.feature:18
Given I have a course with no sections # cms/djangoapps/contentstore/features/course-outline.py:13
When I navigate to the course outline page # cms/djangoapps/contentstore/features/course-outline.py:52
And I add a section # cms/djangoapps/contentstore/features/course-outline.py:66
Then I see the "Collapse All Sections" link # cms/djangoapps/contentstore/features/course-outline.py:83
And all sections are expanded # cms/djangoapps/contentstore/features/course-outline.py:120
@shard_1
Scenario: Collapse link is removed after last section of a course is deleted # cms/djangoapps/contentstore/features/course-outline.feature:25
Given I have a course with 1 section # cms/djangoapps/contentstore/features/course-outline.py:19
And I navigate to the course outline page # cms/djangoapps/contentstore/features/course-outline.py:52
And I press the "section" delete icon # cms/djangoapps/contentstore/features/course-outline.py:71
When I will confirm all alerts # cms/djangoapps/contentstore/features/course-outline.py:77
Then I do not see the "Collapse All Sections" link # cms/djangoapps/contentstore/features/course-outline.py:92
@shard_1
Scenario: Collapsing all sections when all sections are expanded # cms/djangoapps/contentstore/features/course-outline.feature:32
Given I navigate to the outline page of a course with multiple sections # cms/djangoapps/contentstore/features/course-outline.py:60
And all sections are expanded # cms/djangoapps/contentstore/features/course-outline.py:120
When I click the "Collapse All Sections" link # cms/djangoapps/contentstore/features/course-outline.py:101
Then I see the "Expand All Sections" link # cms/djangoapps/contentstore/features/course-outline.py:83
And all sections are collapsed # cms/djangoapps/contentstore/features/course-outline.py:120
@shard_1
Scenario: Collapsing all sections when 1 or more sections are already collapsed # cms/djangoapps/contentstore/features/course-outline.feature:39
Given I navigate to the outline page of a course with multiple sections # cms/djangoapps/contentstore/features/course-outline.py:60
And all sections are expanded # cms/djangoapps/contentstore/features/course-outline.py:120
When I collapse the first section # cms/djangoapps/contentstore/features/course-outline.py:111
And I click the "Collapse All Sections" link # cms/djangoapps/contentstore/features/course-outline.py:101
Then I see the "Expand All Sections" link # cms/djangoapps/contentstore/features/course-outline.py:83
And all sections are collapsed # cms/djangoapps/contentstore/features/course-outline.py:120
@shard_1
Scenario: Expanding all sections when all sections are collapsed # cms/djangoapps/contentstore/features/course-outline.feature:47
Given I navigate to the outline page of a course with multiple sections # cms/djangoapps/contentstore/features/course-outline.py:60
And I click the "Collapse All Sections" link # cms/djangoapps/contentstore/features/course-outline.py:101
When I click the "Expand All Sections" link # cms/djangoapps/contentstore/features/course-outline.py:101
Then I see the "Collapse All Sections" link # cms/djangoapps/contentstore/features/course-outline.py:83
And all sections are expanded # cms/djangoapps/contentstore/features/course-outline.py:120
@shard_1
Scenario: Expanding all sections when 1 or more sections are already expanded # cms/djangoapps/contentstore/features/course-outline.feature:54
Given I navigate to the outline page of a course with multiple sections # cms/djangoapps/contentstore/features/course-outline.py:60
And I click the "Collapse All Sections" link # cms/djangoapps/contentstore/features/course-outline.py:101
When I expand the first section # cms/djangoapps/contentstore/features/course-outline.py:111
And I click the "Expand All Sections" link # cms/djangoapps/contentstore/features/course-outline.py:101
Then I see the "Collapse All Sections" link # cms/djangoapps/contentstore/features/course-outline.py:83
And all sections are expanded # cms/djangoapps/contentstore/features/course-outline.py:120
Feature: CMS.Course Settings # cms/djangoapps/contentstore/features/course-settings.feature:2
As a course author, I want to be able to configure my course settings. # cms/djangoapps/contentstore/features/course-settings.feature:3
@skip_safari @shard_2
Scenario: User can set course dates # cms/djangoapps/contentstore/features/course-settings.feature:7
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
When I select Schedule and Details # cms/djangoapps/contentstore/features/course-settings.py:30
And I set course dates # cms/djangoapps/contentstore/features/course-settings.py:47
And I press the "Save" notification button # cms/djangoapps/contentstore/features/common.py:87
And I reload the page # common/djangoapps/terrain/steps.py:36
Then I see the set dates # cms/djangoapps/contentstore/features/course-settings.py:188
@skip_internetexplorer @shard_2
Scenario: User can clear previously set course dates (except start date)# cms/djangoapps/contentstore/features/course-settings.feature:17
Given I have set course dates # cms/djangoapps/contentstore/features/course-settings.py:40
And I clear all the dates except start # cms/djangoapps/contentstore/features/course-settings.py:58
And I press the "Save" notification button # cms/djangoapps/contentstore/features/common.py:87
And I reload the page # common/djangoapps/terrain/steps.py:36
Then I see cleared dates # cms/djangoapps/contentstore/features/course-settings.py:65
@skip_internetexplorer @shard_2
Scenario: User cannot clear the course start date# cms/djangoapps/contentstore/features/course-settings.feature:26
Given I have set course dates # cms/djangoapps/contentstore/features/course-settings.py:40
And I press the "Save" notification button # cms/djangoapps/contentstore/features/common.py:87
And I clear the course start date # cms/djangoapps/contentstore/features/course-settings.py:80
Then I receive a warning about course start date # cms/djangoapps/contentstore/features/course-settings.py:85
And I reload the page # common/djangoapps/terrain/steps.py:36
And the previously set start date is shown # cms/djangoapps/contentstore/features/course-settings.py:92
@skip_internetexplorer @skip_safari @shard_2
Scenario: User can correct the course start date warning# cms/djangoapps/contentstore/features/course-settings.feature:38
Given I have tried to clear the course start # cms/djangoapps/contentstore/features/course-settings.py:98
And I have entered a new course start date # cms/djangoapps/contentstore/features/course-settings.py:105
And I press the "Save" notification button # cms/djangoapps/contentstore/features/common.py:87
Then The warning about course start date goes away # cms/djangoapps/contentstore/features/course-settings.py:110
And I reload the page # common/djangoapps/terrain/steps.py:36
Then my new course start date is shown # cms/djangoapps/contentstore/features/course-settings.py:117
@skip_safari @shard_2
Scenario: Settings are only persisted when saved # cms/djangoapps/contentstore/features/course-settings.feature:48
Given I have set course dates # cms/djangoapps/contentstore/features/course-settings.py:40
And I press the "Save" notification button # cms/djangoapps/contentstore/features/common.py:87
When I change fields # cms/djangoapps/contentstore/features/course-settings.py:124
And I reload the page # common/djangoapps/terrain/steps.py:36
Then I do not see the changes # cms/djangoapps/contentstore/features/course-settings.py:188
@skip_safari @shard_2
Scenario: Settings are reset on cancel # cms/djangoapps/contentstore/features/course-settings.feature:57
Given I have set course dates # cms/djangoapps/contentstore/features/course-settings.py:40
And I press the "Save" notification button # cms/djangoapps/contentstore/features/common.py:87
When I change fields # cms/djangoapps/contentstore/features/course-settings.py:124
And I press the "Cancel" notification button # cms/djangoapps/contentstore/features/common.py:87
Then I do not see the changes # cms/djangoapps/contentstore/features/course-settings.py:188
@skip_safari @shard_2
Scenario Outline: Confirmation is shown on save # cms/djangoapps/contentstore/features/course-settings.feature:66
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
When I select Schedule and Details # cms/djangoapps/contentstore/features/course-settings.py:30
And I change the "<field>" field to "<value>" # cms/djangoapps/contentstore/features/common.py:102
And I press the "Save" notification button # cms/djangoapps/contentstore/features/common.py:87
Then I see a confirmation that my changes have been saved # cms/djangoapps/contentstore/features/common.py:124
And I reset the database # cms/djangoapps/contentstore/features/common.py:110
Examples:
| field | value |
| Course Start Time | 11:00 |
| Course Introduction Video | 4r7wHMg5Yjg |
| Course Effort | 200:00 |
| Course Image URL | image.jpg |
@shard_2
Scenario: Changes in Course Overview show a confirmation # cms/djangoapps/contentstore/features/course-settings.feature:85
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
When I select Schedule and Details # cms/djangoapps/contentstore/features/course-settings.py:30
And I change the course overview # cms/djangoapps/contentstore/features/course-settings.py:132
And I press the "Save" notification button # cms/djangoapps/contentstore/features/common.py:87
Then I see a confirmation that my changes have been saved # cms/djangoapps/contentstore/features/common.py:124
@shard_2
Scenario: User cannot save invalid settings # cms/djangoapps/contentstore/features/course-settings.feature:92
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
When I select Schedule and Details # cms/djangoapps/contentstore/features/course-settings.py:30
And I change the "Course Start Date" field to "" # cms/djangoapps/contentstore/features/common.py:102
Then the save notification button is disabled # cms/djangoapps/contentstore/features/common.py:272
@shard_2
Scenario: User can upload course image # cms/djangoapps/contentstore/features/course-settings.feature:98
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
When I select Schedule and Details # cms/djangoapps/contentstore/features/course-settings.py:30
And I click the "Upload Course Image" button # cms/djangoapps/contentstore/features/course-settings.py:137
And I upload a new course image # cms/djangoapps/contentstore/features/course-settings.py:143
Then I should see the new course image # cms/djangoapps/contentstore/features/course-settings.py:148
And the image URL should be present in the field # cms/djangoapps/contentstore/features/course-settings.py:161
Feature: CMS.Course Team # cms/djangoapps/contentstore/features/course-team.feature:2
As a course author, I want to be able to add others to my team # cms/djangoapps/contentstore/features/course-team.feature:3
@shard_2
Scenario: Admins can add other users # cms/djangoapps/contentstore/features/course-team.feature:5
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
And the user "alice" exists # cms/djangoapps/contentstore/features/common.py:370
And I am viewing the course team settings # cms/djangoapps/contentstore/features/course-team.py:9
When I add "alice" to the course team # cms/djangoapps/contentstore/features/course-team.py:16
And "alice" logs in # cms/djangoapps/contentstore/features/common.py:351
Then she does see the course on her page # cms/djangoapps/contentstore/features/course-team.py:67
@shard_2
Scenario: Added admins cannot delete or add other users # cms/djangoapps/contentstore/features/course-team.feature:13
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
And the user "bob" exists # cms/djangoapps/contentstore/features/common.py:370
And I am viewing the course team settings # cms/djangoapps/contentstore/features/course-team.py:9
When I add "bob" to the course team # cms/djangoapps/contentstore/features/course-team.py:16
And "bob" logs in # cms/djangoapps/contentstore/features/common.py:351
And he selects the new course # cms/djangoapps/contentstore/features/common.py:81
And he views the course team settings # cms/djangoapps/contentstore/features/course-team.py:9
Then he cannot delete users # cms/djangoapps/contentstore/features/course-team.py:94
And he cannot add users # cms/djangoapps/contentstore/features/course-team.py:104
@shard_2
Scenario: Admins can delete other users # cms/djangoapps/contentstore/features/course-team.feature:24
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
And the user "carol" exists # cms/djangoapps/contentstore/features/common.py:370
And I am viewing the course team settings # cms/djangoapps/contentstore/features/course-team.py:9
When I add "carol" to the course team # cms/djangoapps/contentstore/features/course-team.py:16
And I delete "carol" from the course team # cms/djangoapps/contentstore/features/course-team.py:33
And "carol" logs in # cms/djangoapps/contentstore/features/common.py:351
Then she does not see the course on her page # cms/djangoapps/contentstore/features/course-team.py:67
@shard_2
Scenario: Admins cannot add users that do not exist # cms/djangoapps/contentstore/features/course-team.feature:33
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
And I am viewing the course team settings # cms/djangoapps/contentstore/features/course-team.py:9
When I add "dennis" to the course team # cms/djangoapps/contentstore/features/course-team.py:16
Then I should see "Could not find user by email address" somewhere on the page # common/djangoapps/terrain/steps.py:151
@shard_2
Scenario: Admins should be able to make other people into admins # cms/djangoapps/contentstore/features/course-team.feature:39
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
And the user "emily" exists # cms/djangoapps/contentstore/features/common.py:370
And I am viewing the course team settings # cms/djangoapps/contentstore/features/course-team.py:9
And I add "emily" to the course team # cms/djangoapps/contentstore/features/course-team.py:16
When I make "emily" a course team admin # cms/djangoapps/contentstore/features/course-team.py:49
And "emily" logs in # cms/djangoapps/contentstore/features/common.py:351
And she selects the new course # cms/djangoapps/contentstore/features/common.py:81
And she views the course team settings # cms/djangoapps/contentstore/features/course-team.py:9
Then "emily" should be marked as an admin # cms/djangoapps/contentstore/features/course-team.py:79
And she can add users # cms/djangoapps/contentstore/features/course-team.py:104
And she can delete users # cms/djangoapps/contentstore/features/course-team.py:94
@shard_2
Scenario: Admins should be able to remove other admins # cms/djangoapps/contentstore/features/course-team.feature:52
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
And the user "frank" exists as a course admin # cms/djangoapps/contentstore/features/common.py:370
And I am viewing the course team settings # cms/djangoapps/contentstore/features/course-team.py:9
When I remove admin rights from "frank" # cms/djangoapps/contentstore/features/course-team.py:56
And "frank" logs in # cms/djangoapps/contentstore/features/common.py:351
And he selects the new course # cms/djangoapps/contentstore/features/common.py:81
And he views the course team settings # cms/djangoapps/contentstore/features/course-team.py:9
Then "frank" should not be marked as an admin # cms/djangoapps/contentstore/features/course-team.py:79
And he cannot add users # cms/djangoapps/contentstore/features/course-team.py:104
And he cannot delete users # cms/djangoapps/contentstore/features/course-team.py:94
@shard_2
Scenario: Admins should be able to give course ownership to someone else# cms/djangoapps/contentstore/features/course-team.feature:64
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
And the user "gina" exists # cms/djangoapps/contentstore/features/common.py:370
And I am viewing the course team settings # cms/djangoapps/contentstore/features/course-team.py:9
When I add "gina" to the course team # cms/djangoapps/contentstore/features/course-team.py:16
And I make "gina" a course team admin # cms/djangoapps/contentstore/features/course-team.py:49
And I remove admin rights from myself # cms/djangoapps/contentstore/features/course-team.py:56
And "gina" logs in # cms/djangoapps/contentstore/features/common.py:351
And she selects the new course # cms/djangoapps/contentstore/features/common.py:81
And she views the course team settings # cms/djangoapps/contentstore/features/course-team.py:9
And she deletes me from the course team # cms/djangoapps/contentstore/features/course-team.py:41
And I am logged into studio # cms/djangoapps/contentstore/features/common.py:35
Then I do not see the course on my page # cms/djangoapps/contentstore/features/course-team.py:67
@shard_2
Scenario: Admins should be able to remove their own admin rights # cms/djangoapps/contentstore/features/course-team.feature:78
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
And the user "harry" exists as a course admin # cms/djangoapps/contentstore/features/common.py:370
And I am viewing the course team settings # cms/djangoapps/contentstore/features/course-team.py:9
Then I should be marked as an admin # cms/djangoapps/contentstore/features/course-team.py:89
And I can add users # cms/djangoapps/contentstore/features/course-team.py:104
And I can delete users # cms/djangoapps/contentstore/features/course-team.py:94
When I remove admin rights from myself # cms/djangoapps/contentstore/features/course-team.py:56
Then I should not be marked as an admin # cms/djangoapps/contentstore/features/course-team.py:89
And I cannot add users # cms/djangoapps/contentstore/features/course-team.py:104
And I cannot delete users # cms/djangoapps/contentstore/features/course-team.py:94
And I cannot make myself a course team admin # cms/djangoapps/contentstore/features/course-team.py:114
Feature: CMS.Course updates # cms/djangoapps/contentstore/features/course-updates.feature:2
As a course author, I want to be able to provide updates to my students # cms/djangoapps/contentstore/features/course-updates.feature:3
@skip_internetexplorer @shard_2
Scenario: Users can add updates # cms/djangoapps/contentstore/features/course-updates.feature:7
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
And I go to the course updates page # cms/djangoapps/contentstore/features/course-updates.py:11
When I add a new update with the text "Hello" # cms/djangoapps/contentstore/features/course-updates.py:19
Then I should see the update "Hello" # cms/djangoapps/contentstore/features/course-updates.py:26
And I see a "saving" notification # cms/djangoapps/contentstore/features/course-updates.py:136
@skip_internetexplorer @shard_2
Scenario: Users can edit updates # cms/djangoapps/contentstore/features/course-updates.feature:16
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
And I go to the course updates page # cms/djangoapps/contentstore/features/course-updates.py:11
When I add a new update with the text "Hello" # cms/djangoapps/contentstore/features/course-updates.py:19
And I modify the text to "Goodbye" # cms/djangoapps/contentstore/features/course-updates.py:39
Then I should see the update "Goodbye" # cms/djangoapps/contentstore/features/course-updates.py:26
And I see a "saving" notification # cms/djangoapps/contentstore/features/course-updates.py:136
@shard_2
Scenario: Users can delete updates # cms/djangoapps/contentstore/features/course-updates.feature:24
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
And I go to the course updates page # cms/djangoapps/contentstore/features/course-updates.py:11
And I add a new update with the text "Hello" # cms/djangoapps/contentstore/features/course-updates.py:19
And I delete the update # cms/djangoapps/contentstore/features/course-updates.py:56
And I confirm the prompt # cms/djangoapps/contentstore/features/common.py:309
Then I should not see the update "Hello" # cms/djangoapps/contentstore/features/course-updates.py:33
And I see a "deleting" notification # cms/djangoapps/contentstore/features/course-updates.py:136
@shard_2
Scenario: Users can edit update dates # cms/djangoapps/contentstore/features/course-updates.feature:33
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
And I go to the course updates page # cms/djangoapps/contentstore/features/course-updates.py:11
And I add a new update with the text "Hello" # cms/djangoapps/contentstore/features/course-updates.py:19
When I edit the date to "June 1, 2013" # cms/djangoapps/contentstore/features/course-updates.py:62
Then I should see the date "June 1, 2013" # cms/djangoapps/contentstore/features/course-updates.py:75
And I see a "saving" notification # cms/djangoapps/contentstore/features/course-updates.py:136
@skip_internetexplorer @shard_2
Scenario: Users can change handouts # cms/djangoapps/contentstore/features/course-updates.feature:43
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
And I go to the course updates page # cms/djangoapps/contentstore/features/course-updates.py:11
When I modify the handout to "<ol>Test</ol>" # cms/djangoapps/contentstore/features/course-updates.py:81
Then I see the handout "Test" # cms/djangoapps/contentstore/features/course-updates.py:88
And I see a "saving" notification # cms/djangoapps/contentstore/features/course-updates.py:136
@shard_2
Scenario: Text outside of tags is preserved # cms/djangoapps/contentstore/features/course-updates.feature:50
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
And I go to the course updates page # cms/djangoapps/contentstore/features/course-updates.py:11
When I add a new update with the text "before <strong>middle</strong> after" # cms/djangoapps/contentstore/features/course-updates.py:19
Then I should see the update "before <strong>middle</strong> after" # cms/djangoapps/contentstore/features/course-updates.py:26
And when I reload the page # common/djangoapps/terrain/steps.py:36
Then I should see the update "before <strong>middle</strong> after" # cms/djangoapps/contentstore/features/course-updates.py:26
@shard_2
Scenario: Static links are rewritten when previewing a course update # cms/djangoapps/contentstore/features/course-updates.feature:58
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
And I go to the course updates page # cms/djangoapps/contentstore/features/course-updates.py:11
When I add a new update with the text "<img src='/static/my_img.jpg'/>" # cms/djangoapps/contentstore/features/course-updates.py:19
Then I should see the update "/c4x/MITx/999/asset/my_img.jpg" # cms/djangoapps/contentstore/features/course-updates.py:26
And I change the update from "/static/my_img.jpg" to "<img src='/static/modified.jpg'/>" # cms/djangoapps/contentstore/features/course-updates.py:46
Then I should see the update "/c4x/MITx/999/asset/modified.jpg" # cms/djangoapps/contentstore/features/course-updates.py:26
And when I reload the page # common/djangoapps/terrain/steps.py:36
Then I should see the update "/c4x/MITx/999/asset/modified.jpg" # cms/djangoapps/contentstore/features/course-updates.py:26
@shard_2
Scenario: Static links are rewritten when previewing handouts # cms/djangoapps/contentstore/features/course-updates.feature:69
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
And I go to the course updates page # cms/djangoapps/contentstore/features/course-updates.py:11
When I modify the handout to "<ol><img src='/static/my_img.jpg'/></ol>" # cms/djangoapps/contentstore/features/course-updates.py:81
Then I see the handout "/c4x/MITx/999/asset/my_img.jpg" # cms/djangoapps/contentstore/features/course-updates.py:88
And I change the handout from "/static/my_img.jpg" to "<img src='/static/modified.jpg'/>" # cms/djangoapps/contentstore/features/course-updates.py:51
Then I see the handout "/c4x/MITx/999/asset/modified.jpg" # cms/djangoapps/contentstore/features/course-updates.py:88
And when I reload the page # common/djangoapps/terrain/steps.py:36
Then I see the handout "/c4x/MITx/999/asset/modified.jpg" # cms/djangoapps/contentstore/features/course-updates.py:88
@shard_2
Scenario: Users cannot save handouts with bad html until edit or update it properly# cms/djangoapps/contentstore/features/course-updates.feature:80
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
And I go to the course updates page # cms/djangoapps/contentstore/features/course-updates.py:11
When I modify the handout to "<p><a href=>[LINK TEXT]</a></p>" # cms/djangoapps/contentstore/features/course-updates.py:81
Then I see the handout error text # cms/djangoapps/contentstore/features/course-updates.py:94
And I see handout save button disabled # cms/djangoapps/contentstore/features/course-updates.py:100
When I edit the handout to "<p><a href='https://www.google.com.pk/'>home</a></p>" # cms/djangoapps/contentstore/features/course-updates.py:106
Then I see handout save button re-enabled # cms/djangoapps/contentstore/features/course-updates.py:111
When I save handout edit # cms/djangoapps/contentstore/features/course-updates.py:117
Then I see the handout "https://www.google.com.pk/" # cms/djangoapps/contentstore/features/course-updates.py:88
And when I reload the page # common/djangoapps/terrain/steps.py:36
Then I see the handout "https://www.google.com.pk/" # cms/djangoapps/contentstore/features/course-updates.py:88
Feature: CMS.Create Course # cms/djangoapps/contentstore/features/courses.feature:2
In order offer a course on the edX platform # cms/djangoapps/contentstore/features/courses.feature:3
As a course author # cms/djangoapps/contentstore/features/courses.feature:4
I want to create courses # cms/djangoapps/contentstore/features/courses.feature:5
@shard_2
Scenario: Create a course # cms/djangoapps/contentstore/features/courses.feature:7
Given There are no courses # cms/djangoapps/contentstore/features/courses.py:11
And I am logged into Studio # cms/djangoapps/contentstore/features/common.py:35
When I click the New Course button # cms/djangoapps/contentstore/features/courses.py:17
And I fill in the new course information # cms/djangoapps/contentstore/features/courses.py:22
And I press the "Create" button # common/djangoapps/terrain/steps.py:72
Then the Courseware page has loaded in Studio # cms/djangoapps/contentstore/features/courses.py:50
And I see a link for adding a new section # cms/djangoapps/contentstore/features/courses.py:68
@shard_2
Scenario: Error message when org/course/run tuple is too long # cms/djangoapps/contentstore/features/courses.feature:16
Given There are no courses # cms/djangoapps/contentstore/features/courses.py:11
And I am logged into Studio # cms/djangoapps/contentstore/features/common.py:35
When I click the New Course button # cms/djangoapps/contentstore/features/courses.py:17
And I create a course with "course name", "012345678901234567890123456789", "012345678901234567890123456789", and "0123456" # cms/djangoapps/contentstore/features/courses.py:27
Then I see an error about the length of the org/course/run tuple # cms/djangoapps/contentstore/features/courses.py:43
And the "Create" button is disabled # cms/djangoapps/contentstore/features/common.py:279
@shard_2
Scenario: Course name is not included in the "too long" computation # cms/djangoapps/contentstore/features/courses.feature:24
Given There are no courses # cms/djangoapps/contentstore/features/courses.py:11
And I am logged into Studio # cms/djangoapps/contentstore/features/common.py:35
When I click the New Course button # cms/djangoapps/contentstore/features/courses.py:17
And I create a course with "012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789", "org", "coursenum", and "run" # cms/djangoapps/contentstore/features/courses.py:27
And I press the "Create" button # common/djangoapps/terrain/steps.py:72
Then the Courseware page has loaded in Studio # cms/djangoapps/contentstore/features/courses.py:50
Feature: CMS.Discussion Component Editor # cms/djangoapps/contentstore/features/discussion-editor.feature:2
As a course author, I want to be able to create discussion components. # cms/djangoapps/contentstore/features/discussion-editor.feature:3
@shard_2
Scenario: User can view discussion component metadata # cms/djangoapps/contentstore/features/discussion-editor.feature:5
Given I have created a Discussion Tag # cms/djangoapps/contentstore/features/discussion-editor.py:8
And I edit the component # cms/djangoapps/contentstore/features/video.py:108
Then I see three alphabetized settings and their expected values # cms/djangoapps/contentstore/features/discussion-editor.py:17
@skip_safari @shard_2
Scenario: User can modify display name # cms/djangoapps/contentstore/features/discussion-editor.feature:12
Given I have created a Discussion Tag # cms/djangoapps/contentstore/features/discussion-editor.py:8
And I edit the component # cms/djangoapps/contentstore/features/video.py:108
Then I can modify the display name # cms/djangoapps/contentstore/features/problem-editor.py:110
And my display name change is persisted on save # cms/djangoapps/contentstore/features/problem-editor.py:119
Feature: CMS.Course Grading # cms/djangoapps/contentstore/features/grading.feature:2
As a course author, I want to be able to configure how my course is graded # cms/djangoapps/contentstore/features/grading.feature:3
@shard_1
Scenario: Users can add grading ranges # cms/djangoapps/contentstore/features/grading.feature:5
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
And I am viewing the grading settings # cms/djangoapps/contentstore/features/grading.py:14
When I add "1" new grade # cms/djangoapps/contentstore/features/grading.py:21
Then I see I now have "3" grades # cms/djangoapps/contentstore/features/grading.py:37
@shard_1
Scenario: Users can only have up to 5 grading ranges # cms/djangoapps/contentstore/features/grading.feature:11
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
And I am viewing the grading settings # cms/djangoapps/contentstore/features/grading.py:14
When I add "6" new grades # cms/djangoapps/contentstore/features/grading.py:21
Then I see I now have "5" grades # cms/djangoapps/contentstore/features/grading.py:37
@shard_1
Scenario: Users can delete grading ranges # cms/djangoapps/contentstore/features/grading.feature:18
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
And I am viewing the grading settings # cms/djangoapps/contentstore/features/grading.py:14
When I add "1" new grade # cms/djangoapps/contentstore/features/grading.py:21
And I delete a grade # cms/djangoapps/contentstore/features/grading.py:28
Then I see I now have "2" grades # cms/djangoapps/contentstore/features/grading.py:37
@skip_internetexplorer @skip_safari @shard_1
Scenario: Users can move grading ranges# cms/djangoapps/contentstore/features/grading.feature:28
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
And I am viewing the grading settings # cms/djangoapps/contentstore/features/grading.py:14
When I move a grading section # cms/djangoapps/contentstore/features/grading.py:44
Then I see that the grade range has changed # cms/djangoapps/contentstore/features/grading.py:51
@shard_1
Scenario: Users can modify Assignment types # cms/djangoapps/contentstore/features/grading.feature:34
Given I have populated a new course in Studio # cms/djangoapps/contentstore/features/common.py:61
And I am viewing the grading settings # cms/djangoapps/contentstore/features/grading.py:14
When I change assignment type "Homework" to "New Type" # cms/djangoapps/contentstore/features/grading.py:59
And I press the "Save" notification button # cms/djangoapps/contentstore/features/common.py:87
And I go back to the main course page # cms/djangoapps/contentstore/features/grading.py:70
Then I do see the assignment name "New Type" # cms/djangoapps/contentstore/features/grading.py:84
And I do not see the assignment name "Homework" # cms/djangoapps/contentstore/features/grading.py:84
@shard_1
Scenario: Users can delete Assignment types # cms/djangoapps/contentstore/features/grading.feature:43
Given I have populated a new course in Studio # cms/djangoapps/contentstore/features/common.py:61
And I am viewing the grading settings # cms/djangoapps/contentstore/features/grading.py:14
When I delete the assignment type "Homework" # cms/djangoapps/contentstore/features/grading.py:103
And I press the "Save" notification button # cms/djangoapps/contentstore/features/common.py:87
And I go back to the main course page # cms/djangoapps/contentstore/features/grading.py:70
Then I do not see the assignment name "Homework" # cms/djangoapps/contentstore/features/grading.py:84
@shard_1
Scenario: Users can add Assignment types # cms/djangoapps/contentstore/features/grading.feature:51
Given I have populated a new course in Studio # cms/djangoapps/contentstore/features/common.py:61
And I am viewing the grading settings # cms/djangoapps/contentstore/features/grading.py:14
When I add a new assignment type "New Type" # cms/djangoapps/contentstore/features/grading.py:109
And I press the "Save" notification button # cms/djangoapps/contentstore/features/common.py:87
And I go back to the main course page # cms/djangoapps/contentstore/features/grading.py:70
Then I do see the assignment name "New Type" # cms/djangoapps/contentstore/features/grading.py:84
@shard_1
Scenario: Users can set weight to Assignment types # cms/djangoapps/contentstore/features/grading.feature:60
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
And I am viewing the grading settings # cms/djangoapps/contentstore/features/grading.py:14
When I add a new assignment type "New Type" # cms/djangoapps/contentstore/features/grading.py:109
And I set the assignment weight to "7" # cms/djangoapps/contentstore/features/grading.py:118
And I press the "Save" notification button # cms/djangoapps/contentstore/features/common.py:87
Then the assignment weight is displayed as "7" # cms/djangoapps/contentstore/features/grading.py:128
And I reload the page # common/djangoapps/terrain/steps.py:36
Then the assignment weight is displayed as "7" # cms/djangoapps/contentstore/features/grading.py:128
@shard_1
Scenario: Settings are only persisted when saved # cms/djangoapps/contentstore/features/grading.feature:70
Given I have populated a new course in Studio # cms/djangoapps/contentstore/features/common.py:61
And I am viewing the grading settings # cms/djangoapps/contentstore/features/grading.py:14
When I change assignment type "Homework" to "New Type" # cms/djangoapps/contentstore/features/grading.py:59
Then I do not see the changes persisted on refresh # cms/djangoapps/contentstore/features/grading.py:134
@shard_1
Scenario: Settings are reset on cancel # cms/djangoapps/contentstore/features/grading.feature:76
Given I have populated a new course in Studio # cms/djangoapps/contentstore/features/common.py:61
And I am viewing the grading settings # cms/djangoapps/contentstore/features/grading.py:14
When I change assignment type "Homework" to "New Type" # cms/djangoapps/contentstore/features/grading.py:59
And I press the "Cancel" notification button # cms/djangoapps/contentstore/features/common.py:87
Then I see the assignment type "Homework" # cms/djangoapps/contentstore/features/grading.py:141
@shard_1
Scenario: Confirmation is shown on save # cms/djangoapps/contentstore/features/grading.feature:83
Given I have populated a new course in Studio # cms/djangoapps/contentstore/features/common.py:61
And I am viewing the grading settings # cms/djangoapps/contentstore/features/grading.py:14
When I change assignment type "Homework" to "New Type" # cms/djangoapps/contentstore/features/grading.py:59
And I press the "Save" notification button # cms/djangoapps/contentstore/features/common.py:87
Then I see a confirmation that my changes have been saved # cms/djangoapps/contentstore/features/common.py:124
@shard_1
Scenario: User cannot save invalid settings # cms/djangoapps/contentstore/features/grading.feature:90
Given I have populated a new course in Studio # cms/djangoapps/contentstore/features/common.py:61
And I am viewing the grading settings # cms/djangoapps/contentstore/features/grading.py:14
When I change assignment type "Homework" to "" # cms/djangoapps/contentstore/features/grading.py:59
Then the save notification button is disabled # cms/djangoapps/contentstore/features/common.py:272
@skip_internetexplorer @skip_safari @shard_1
Scenario: User can edit grading range names# cms/djangoapps/contentstore/features/grading.feature:99
Given I have populated a new course in Studio # cms/djangoapps/contentstore/features/common.py:61
And I am viewing the grading settings # cms/djangoapps/contentstore/features/grading.py:14
When I change the highest grade range to "Good" # cms/djangoapps/contentstore/features/grading.py:149
And I press the "Save" notification button # cms/djangoapps/contentstore/features/common.py:87
And I reload the page # common/djangoapps/terrain/steps.py:36
Then I see the highest grade range is "Good" # cms/djangoapps/contentstore/features/grading.py:156
@shard_1
Scenario: User cannot edit failing grade range name # cms/djangoapps/contentstore/features/grading.feature:107
Given I have populated a new course in Studio # cms/djangoapps/contentstore/features/common.py:61
And I am viewing the grading settings # cms/djangoapps/contentstore/features/grading.py:14
Then I cannot edit the "Fail" grade range # cms/djangoapps/contentstore/features/grading.py:163
@shard_1
Scenario: User can set a grace period greater than one day # cms/djangoapps/contentstore/features/grading.feature:112
Given I have populated a new course in Studio # cms/djangoapps/contentstore/features/common.py:61
And I am viewing the grading settings # cms/djangoapps/contentstore/features/grading.py:14
When I change the grace period to "48:00" # cms/djangoapps/contentstore/features/grading.py:182
And I press the "Save" notification button # cms/djangoapps/contentstore/features/common.py:87
And I reload the page # common/djangoapps/terrain/steps.py:36
Then I see the grace period is "48:00" # cms/djangoapps/contentstore/features/grading.py:198
@shard_1
Scenario: Grace periods of more than 59 minutes are wrapped to the correct time# cms/djangoapps/contentstore/features/grading.feature:120
Given I have populated a new course in Studio # cms/djangoapps/contentstore/features/common.py:61
And I am viewing the grading settings # cms/djangoapps/contentstore/features/grading.py:14
When I change the grace period to "01:99" # cms/djangoapps/contentstore/features/grading.py:182
And I press the "Save" notification button # cms/djangoapps/contentstore/features/common.py:87
And I reload the page # common/djangoapps/terrain/steps.py:36
Then I see the grace period is "02:39" # cms/djangoapps/contentstore/features/grading.py:198
Feature: CMS.Help # cms/djangoapps/contentstore/features/help.feature:2
As a course author, I am able to access online help # cms/djangoapps/contentstore/features/help.feature:3
@shard_1
Scenario: Users can access online help on course listing page# cms/djangoapps/contentstore/features/help.feature:5
Given There are no courses # cms/djangoapps/contentstore/features/courses.py:11
And I am logged into Studio # cms/djangoapps/contentstore/features/common.py:35
Then I should see online help for "get_started" # cms/djangoapps/contentstore/features/help.py:10
@shard_1
Scenario: Users can access online help within a course# cms/djangoapps/contentstore/features/help.feature:11
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
And I click the course link in My Courses # cms/djangoapps/contentstore/features/courses.py:37
Then I should see online help for "outline" # cms/djangoapps/contentstore/features/help.py:10
And I go to the course updates page # cms/djangoapps/contentstore/features/course-updates.py:11
Then I should see online help for "updates" # cms/djangoapps/contentstore/features/help.py:10
And I go to the pages page # cms/djangoapps/contentstore/features/pages.py:13
Then I should see online help for "pages" # cms/djangoapps/contentstore/features/help.py:10
And I go to the files and uploads page # cms/djangoapps/contentstore/features/upload.py:20
Then I should see online help for "files" # cms/djangoapps/contentstore/features/help.py:10
And I go to the textbooks page # cms/djangoapps/contentstore/features/textbooks.py:13
Then I should see online help for "textbooks" # cms/djangoapps/contentstore/features/help.py:10
And I select Schedule and Details # cms/djangoapps/contentstore/features/course-settings.py:30
Then I should see online help for "setting_up" # cms/djangoapps/contentstore/features/help.py:10
And I am viewing the grading settings # cms/djangoapps/contentstore/features/grading.py:14
Then I should see online help for "grading" # cms/djangoapps/contentstore/features/help.py:10
And I am viewing the course team settings # cms/djangoapps/contentstore/features/course-team.py:9
Then I should see online help for "course-team" # cms/djangoapps/contentstore/features/help.py:10
And I select the Advanced Settings # cms/djangoapps/contentstore/features/advanced_settings.py:17
Then I should see online help for "index" # cms/djangoapps/contentstore/features/help.py:10
And I select Checklists from the Tools menu # cms/djangoapps/contentstore/features/checklists.py:12
Then I should see online help for "checklist" # cms/djangoapps/contentstore/features/help.py:10
And I go to the import page # cms/djangoapps/contentstore/features/course_import.py:22
Then I should see online help for "import" # cms/djangoapps/contentstore/features/help.py:10
And I go to the export page # cms/djangoapps/contentstore/features/course-export.py:13
Then I should see online help for "export" # cms/djangoapps/contentstore/features/help.py:10
@shard_1
Scenario: Users can access online help on the unit page# cms/djangoapps/contentstore/features/help.feature:51
Given I am in Studio editing a new unit # cms/djangoapps/contentstore/features/common.py:265
Then I should see online help for "units" # cms/djangoapps/contentstore/features/help.py:10
Feature: CMS.HTML Editor # cms/djangoapps/contentstore/features/html-editor.feature:2
As a course author, I want to be able to create HTML blocks. # cms/djangoapps/contentstore/features/html-editor.feature:3
@shard_2
Scenario: User can view metadata # cms/djangoapps/contentstore/features/html-editor.feature:5
Given I have created a Blank HTML Page # cms/djangoapps/contentstore/features/html-editor.py:12
And I edit and select Settings # cms/djangoapps/contentstore/features/problem-editor.py:91
Then I see the HTML component settings # cms/djangoapps/contentstore/features/html-editor.py:32
@skip_safari @shard_2
Scenario: User can modify display name # cms/djangoapps/contentstore/features/html-editor.feature:12
Given I have created a Blank HTML Page # cms/djangoapps/contentstore/features/html-editor.py:12
And I edit and select Settings # cms/djangoapps/contentstore/features/problem-editor.py:91
Then I can modify the display name # cms/djangoapps/contentstore/features/problem-editor.py:110
And my display name change is persisted on save # cms/djangoapps/contentstore/features/problem-editor.py:119
@shard_2
Scenario: Edit High Level source is available for LaTeX html # cms/djangoapps/contentstore/features/html-editor.feature:18
Given I have created an E-text Written in LaTeX # cms/djangoapps/contentstore/features/html-editor.py:42
When I edit and select Settings # cms/djangoapps/contentstore/features/problem-editor.py:91
Then Edit High Level Source is visible # cms/djangoapps/contentstore/features/problem-editor.py:220
@shard_2
Scenario: TinyMCE image plugin sets urls correctly # cms/djangoapps/contentstore/features/html-editor.feature:23
Given I have created a Blank HTML Page # cms/djangoapps/contentstore/features/html-editor.py:12
When I edit the page # cms/djangoapps/contentstore/features/html-editor.py:53
And I add an image with static link "/static/image.jpg" via the Image Plugin Icon # cms/djangoapps/contentstore/features/html-editor.py:58
Then the src link is rewritten to "c4x/MITx/999/asset/image.jpg" # cms/djangoapps/contentstore/features/html-editor.py:159
And the link is shown as "/static/image.jpg" in the Image Plugin # cms/djangoapps/contentstore/features/html-editor.py:66
@shard_2
Scenario: TinyMCE link plugin sets urls correctly # cms/djangoapps/contentstore/features/html-editor.feature:30
Given I have created a Blank HTML Page # cms/djangoapps/contentstore/features/html-editor.py:12
When I edit the page # cms/djangoapps/contentstore/features/html-editor.py:53
And I add a link with static link "/static/image.jpg" via the Link Plugin Icon # cms/djangoapps/contentstore/features/html-editor.py:74
Then the href link is rewritten to "c4x/MITx/999/asset/image.jpg" # cms/djangoapps/contentstore/features/html-editor.py:167
And the link is shown as "/static/image.jpg" in the Link Plugin # cms/djangoapps/contentstore/features/html-editor.py:83
@shard_2
Scenario: TinyMCE and CodeMirror preserve style tags # cms/djangoapps/contentstore/features/html-editor.feature:37
Given I have created a Blank HTML Page # cms/djangoapps/contentstore/features/html-editor.py:12
When I edit the page # cms/djangoapps/contentstore/features/html-editor.py:53
And type "<p class='title'>pages</p><style><!-- .title { color: red; } --></style>" in the code editor and press OK # cms/djangoapps/contentstore/features/html-editor.py:98
And I save the page # cms/djangoapps/contentstore/features/html-editor.py:144
Then the page text contains: # cms/djangoapps/contentstore/features/html-editor.py:149
| """ |
| <p class="title">pages</p> |
| <style><!-- |
| .title { color: red; } |
| --></style> |
| """ |
@shard_2
Scenario: TinyMCE and CodeMirror preserve span tags # cms/djangoapps/contentstore/features/html-editor.feature:50
Given I have created a Blank HTML Page # cms/djangoapps/contentstore/features/html-editor.py:12
When I edit the page # cms/djangoapps/contentstore/features/html-editor.py:53
And type "<span>Test</span>" in the code editor and press OK # cms/djangoapps/contentstore/features/html-editor.py:98
And I save the page # cms/djangoapps/contentstore/features/html-editor.py:144
Then the page text contains: # cms/djangoapps/contentstore/features/html-editor.py:149
| """ |
| <span>Test</span> |
| """ |
@shard_2
Scenario: TinyMCE and CodeMirror preserve math tags # cms/djangoapps/contentstore/features/html-editor.feature:60
Given I have created a Blank HTML Page # cms/djangoapps/contentstore/features/html-editor.py:12
When I edit the page # cms/djangoapps/contentstore/features/html-editor.py:53
And type "<math><msup><mi>x</mi><mn>2</mn></msup></math>" in the code editor and press OK # cms/djangoapps/contentstore/features/html-editor.py:98
And I save the page # cms/djangoapps/contentstore/features/html-editor.py:144
Then the page text contains: # cms/djangoapps/contentstore/features/html-editor.py:149
| """ |
| <math><msup><mi>x</mi><mn>2</mn></msup></math> |
| """ |
@shard_2
Scenario: TinyMCE toolbar buttons are as expected # cms/djangoapps/contentstore/features/html-editor.feature:70
Given I have created a Blank HTML Page # cms/djangoapps/contentstore/features/html-editor.py:12
When I edit the page # cms/djangoapps/contentstore/features/html-editor.py:53
Then the expected toolbar buttons are displayed # cms/djangoapps/contentstore/features/html-editor.py:175
@shard_2
Scenario: Static links are converted when switching between code editor and WYSIWYG views # cms/djangoapps/contentstore/features/html-editor.feature:75
Given I have created a Blank HTML Page # cms/djangoapps/contentstore/features/html-editor.py:12
When I edit the page # cms/djangoapps/contentstore/features/html-editor.py:53
And type "<img src="/static/image.jpg">" in the code editor and press OK # cms/djangoapps/contentstore/features/html-editor.py:98
Then the src link is rewritten to "c4x/MITx/999/asset/image.jpg" # cms/djangoapps/contentstore/features/html-editor.py:159
And the code editor displays "<p><img src="/static/image.jpg" /></p>" # cms/djangoapps/contentstore/features/html-editor.py:109
@shard_2
Scenario: Code format toolbar button wraps text with code tags # cms/djangoapps/contentstore/features/html-editor.feature:82
Given I have created a Blank HTML Page # cms/djangoapps/contentstore/features/html-editor.py:12
When I edit the page # cms/djangoapps/contentstore/features/html-editor.py:53
And I set the text to "display as code" and I select the text # cms/djangoapps/contentstore/features/html-editor.py:213
And I select the code toolbar button # cms/djangoapps/contentstore/features/html-editor.py:223
And I save the page # cms/djangoapps/contentstore/features/html-editor.py:144
Then the page text contains: # cms/djangoapps/contentstore/features/html-editor.py:149
| """ |
| <p><code>display as code</code></p> |
| """ |
@shard_2
Scenario: Raw HTML component does not change text # cms/djangoapps/contentstore/features/html-editor.feature:93
Given I have created a raw HTML component # cms/djangoapps/contentstore/features/html-editor.py:22
When I edit the page # cms/djangoapps/contentstore/features/html-editor.py:53
And type "<li>zzzz<ol>" into the Raw Editor # cms/djangoapps/contentstore/features/html-editor.py:229
And I save the page # cms/djangoapps/contentstore/features/html-editor.py:144
Then the page text contains: # cms/djangoapps/contentstore/features/html-editor.py:149
| """ |
| <li>zzzz<ol> |
| """ |
And I edit the page # cms/djangoapps/contentstore/features/html-editor.py:53
Then the Raw Editor contains exactly: # cms/djangoapps/contentstore/features/html-editor.py:154
| """ |
| <li>zzzz<ol> |
| """ |
Feature: CMS.Pages # cms/djangoapps/contentstore/features/pages.feature:2
As a course author, I want to be able to add pages # cms/djangoapps/contentstore/features/pages.feature:3
@shard_2
Scenario: Users can add static pages # cms/djangoapps/contentstore/features/pages.feature:5
Given I have opened the pages page in a new course # cms/djangoapps/contentstore/features/pages.py:68
Then I should not see any static pages # cms/djangoapps/contentstore/features/pages.py:34
When I add a new static page # cms/djangoapps/contentstore/features/pages.py:21
Then I should see a static page named "Empty" # cms/djangoapps/contentstore/features/pages.py:27
@shard_2
Scenario: Users can delete static pages # cms/djangoapps/contentstore/features/pages.feature:11
Given I have created a static page # cms/djangoapps/contentstore/features/pages.py:62
When I "delete" the static page # cms/djangoapps/contentstore/features/pages.py:40
Then I am shown a prompt # cms/djangoapps/contentstore/features/common.py:314
When I confirm the prompt # cms/djangoapps/contentstore/features/common.py:309
Then I should not see any static pages # cms/djangoapps/contentstore/features/pages.py:34
@skip_safari @shard_2
Scenario: Users can edit static pages # cms/djangoapps/contentstore/features/pages.feature:20
Given I have created a static page # cms/djangoapps/contentstore/features/pages.py:62
When I "edit" the static page # cms/djangoapps/contentstore/features/pages.py:40
And I change the name to "New" # cms/djangoapps/contentstore/features/pages.py:46
Then I should see a static page named "New" # cms/djangoapps/contentstore/features/pages.py:27
@skip_safari @shard_2
Scenario: Users can reorder static pages# cms/djangoapps/contentstore/features/pages.feature:28
Given I have created two different static pages # cms/djangoapps/contentstore/features/pages.py:74
When I drag the first static page to the last # cms/djangoapps/contentstore/features/pages.py:57
Then the static pages are switched # cms/djangoapps/contentstore/features/pages.py:84
And I reload the page # common/djangoapps/terrain/steps.py:36
Then the static pages are switched # cms/djangoapps/contentstore/features/pages.py:84
@shard_2
Scenario: Users can reorder built-in pages # cms/djangoapps/contentstore/features/pages.feature:35
Given I have opened the pages page in a new course # cms/djangoapps/contentstore/features/pages.py:68
Then the built-in pages are in the default order # cms/djangoapps/contentstore/features/pages.py:100
When I drag the first page to the last # cms/djangoapps/contentstore/features/pages.py:124
Then the built-in pages are switched # cms/djangoapps/contentstore/features/pages.py:106
And I reload the page # common/djangoapps/terrain/steps.py:36
Then the built-in pages are switched # cms/djangoapps/contentstore/features/pages.py:106
@shard_2
Scenario: Users can reorder built-in pages amongst static pages# cms/djangoapps/contentstore/features/pages.feature:43
Given I have created two different static pages # cms/djangoapps/contentstore/features/pages.py:74
Then the pages are in the default order # cms/djangoapps/contentstore/features/pages.py:112
When I drag the first page to the last # cms/djangoapps/contentstore/features/pages.py:124
Then the pages are switched # cms/djangoapps/contentstore/features/pages.py:118
And I reload the page # common/djangoapps/terrain/steps.py:36
Then the pages are switched # cms/djangoapps/contentstore/features/pages.py:118
@shard_2
Scenario: Users can toggle visibility on hideable pages# cms/djangoapps/contentstore/features/pages.feature:51
Given I have opened the pages page in a new course # cms/djangoapps/contentstore/features/pages.py:68
Then I should see the "wiki" page as "visible" # cms/djangoapps/contentstore/features/pages.py:129
When I toggle the visibility of the "wiki" page # cms/djangoapps/contentstore/features/pages.py:135
Then I should see the "wiki" page as "hidden" # cms/djangoapps/contentstore/features/pages.py:129
And I reload the page # common/djangoapps/terrain/steps.py:36
Then I should see the "wiki" page as "hidden" # cms/djangoapps/contentstore/features/pages.py:129
When I toggle the visibility of the "wiki" page # cms/djangoapps/contentstore/features/pages.py:135
Then I should see the "wiki" page as "visible" # cms/djangoapps/contentstore/features/pages.py:129
And I reload the page # common/djangoapps/terrain/steps.py:36
Then I should see the "wiki" page as "visible" # cms/djangoapps/contentstore/features/pages.py:129
Feature: CMS.Problem Editor # cms/djangoapps/contentstore/features/problem-editor.feature:2
As a course author, I want to be able to create problems and edit their settings. # cms/djangoapps/contentstore/features/problem-editor.feature:3
@shard_1
Scenario: User can view metadata # cms/djangoapps/contentstore/features/problem-editor.feature:5
Given I have created a Blank Common Problem # cms/djangoapps/contentstore/features/problem-editor.py:21
When I edit and select Settings # cms/djangoapps/contentstore/features/problem-editor.py:91
Then I see the advanced settings and their expected values # cms/djangoapps/contentstore/features/problem-editor.py:96
And Edit High Level Source is not visible # cms/djangoapps/contentstore/features/problem-editor.py:215
2014-10-08 15:44:40,059 ERROR [root] Uncaught exception from <class 'django.core.handlers.wsgi.WSGIHandler'>
Traceback (most recent call last):
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/views/decorators/http.py", line 41, in inner
return func(request, *args, **kwargs)
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py", line 20, in _wrapped_view
return view_func(request, *args, **kwargs)
File "/edx/app/edxapp/edx-platform/common/djangoapps/util/json_request.py", line 24, in parse_json_into_request
return view_function(request, *args, **kwargs)
File "/edx/app/edxapp/edx-platform/cms/djangoapps/contentstore/views/item.py", line 144, in xblock_handler
rsp = _get_module_info(_get_xblock(usage_key, request.user))
File "/edx/app/edxapp/edx-platform/cms/djangoapps/contentstore/views/item.py", line 602, in _get_module_info
return create_xblock_info(xblock, data=data, metadata=own_metadata(xblock), include_ancestor_info=True)
File "/edx/app/edxapp/edx-platform/cms/djangoapps/contentstore/views/item.py", line 644, in create_xblock_info
graders = CourseGradingModel.fetch(xblock.location.course_key).graders
File "/edx/app/edxapp/edx-platform/cms/djangoapps/models/settings/course_grading.py", line 25, in fetch
model = cls(descriptor)
File "/edx/app/edxapp/edx-platform/cms/djangoapps/models/settings/course_grading.py", line 14, in __init__
CourseGradingModel.jsonize_grader(i, grader) for i, grader in enumerate(course_descriptor.raw_grader)
AttributeError: 'NoneType' object has no attribute 'raw_grader'
2014-10-08 15:44:40,068 ERROR [django.request] Internal Server Error: /xblock/i4x://MITx/999/vertical/f19509d93b3d4929ae2cf9f9c6189621
Traceback (most recent call last):
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/views/decorators/http.py", line 41, in inner
return func(request, *args, **kwargs)
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py", line 20, in _wrapped_view
return view_func(request, *args, **kwargs)
File "/edx/app/edxapp/edx-platform/common/djangoapps/util/json_request.py", line 24, in parse_json_into_request
return view_function(request, *args, **kwargs)
File "/edx/app/edxapp/edx-platform/cms/djangoapps/contentstore/views/item.py", line 144, in xblock_handler
rsp = _get_module_info(_get_xblock(usage_key, request.user))
File "/edx/app/edxapp/edx-platform/cms/djangoapps/contentstore/views/item.py", line 602, in _get_module_info
return create_xblock_info(xblock, data=data, metadata=own_metadata(xblock), include_ancestor_info=True)
File "/edx/app/edxapp/edx-platform/cms/djangoapps/contentstore/views/item.py", line 644, in create_xblock_info
graders = CourseGradingModel.fetch(xblock.location.course_key).graders
File "/edx/app/edxapp/edx-platform/cms/djangoapps/models/settings/course_grading.py", line 25, in fetch
model = cls(descriptor)
File "/edx/app/edxapp/edx-platform/cms/djangoapps/models/settings/course_grading.py", line 14, in __init__
CourseGradingModel.jsonize_grader(i, grader) for i, grader in enumerate(course_descriptor.raw_grader)
AttributeError: 'NoneType' object has no attribute 'raw_grader'
@skip_safari @shard_1
Scenario: User can modify String values # cms/djangoapps/contentstore/features/problem-editor.feature:13
Given I have created a Blank Common Problem # cms/djangoapps/contentstore/features/problem-editor.py:21
When I edit and select Settings # cms/djangoapps/contentstore/features/problem-editor.py:91
Then I can modify the display name # cms/djangoapps/contentstore/features/problem-editor.py:110
And my display name change is persisted on save # cms/djangoapps/contentstore/features/problem-editor.py:119
@skip_safari @shard_1
Scenario: User can specify special characters in String values # cms/djangoapps/contentstore/features/problem-editor.feature:21
Given I have created a Blank Common Problem # cms/djangoapps/contentstore/features/problem-editor.py:21
When I edit and select Settings # cms/djangoapps/contentstore/features/problem-editor.py:91
Then I can specify special characters in the display name # cms/djangoapps/contentstore/features/problem-editor.py:130
And my special characters and persisted on save # cms/djangoapps/contentstore/features/problem-editor.py:137
@shard_1
Scenario: User can revert display name to unset # cms/djangoapps/contentstore/features/problem-editor.feature:27
Given I have created a Blank Common Problem # cms/djangoapps/contentstore/features/problem-editor.py:21
When I edit and select Settings # cms/djangoapps/contentstore/features/problem-editor.py:91
Then I can revert the display name to unset # cms/djangoapps/contentstore/features/problem-editor.py:143
And my display name is unset on save # cms/djangoapps/contentstore/features/problem-editor.py:149
@skip_internetexplorer @shard_1
Scenario: User can select values in a Select # cms/djangoapps/contentstore/features/problem-editor.feature:35
Given I have created a Blank Common Problem # cms/djangoapps/contentstore/features/problem-editor.py:21
When I edit and select Settings # cms/djangoapps/contentstore/features/problem-editor.py:91
Then I can select Per Student for Randomization # cms/djangoapps/contentstore/features/problem-editor.py:155
And my change to randomization is persisted # cms/djangoapps/contentstore/features/problem-editor.py:161
And I can revert to the default value for randomization # cms/djangoapps/contentstore/features/problem-editor.py:167
@skip_safari @shard_1
Scenario: User can modify float input values # cms/djangoapps/contentstore/features/problem-editor.feature:44
Given I have created a Blank Common Problem # cms/djangoapps/contentstore/features/problem-editor.py:21
When I edit and select Settings # cms/djangoapps/contentstore/features/problem-editor.py:91
Then I can set the weight to "3.5" # cms/djangoapps/contentstore/features/problem-editor.py:174
And my change to weight is persisted # cms/djangoapps/contentstore/features/problem-editor.py:180
And I can revert to the default value of unset for weight # cms/djangoapps/contentstore/features/problem-editor.py:186
@shard_1
Scenario: User cannot type letters in float number field # cms/djangoapps/contentstore/features/problem-editor.feature:51
Given I have created a Blank Common Problem # cms/djangoapps/contentstore/features/problem-editor.py:21
When I edit and select Settings # cms/djangoapps/contentstore/features/problem-editor.py:91
Then if I set the weight to "abc", it remains unset # cms/djangoapps/contentstore/features/problem-editor.py:193
@skip_safari @shard_1
Scenario: User cannot type decimal values integer number field # cms/djangoapps/contentstore/features/problem-editor.feature:58
Given I have created a Blank Common Problem # cms/djangoapps/contentstore/features/problem-editor.py:21
When I edit and select Settings # cms/djangoapps/contentstore/features/problem-editor.py:91
Then if I set the max attempts to "2.34", it will persist as a valid integer # cms/djangoapps/contentstore/features/problem-editor.py:203
@skip_safari @shard_1
Scenario: User cannot type out of range values in an integer number field# cms/djangoapps/contentstore/features/problem-editor.feature:65
Given I have created a Blank Common Problem # cms/djangoapps/contentstore/features/problem-editor.py:21
When I edit and select Settings # cms/djangoapps/contentstore/features/problem-editor.py:91
Then if I set the max attempts to "-3", it will persist as a valid integer # cms/djangoapps/contentstore/features/problem-editor.py:203
@skip_safari @shard_1
Scenario: Settings changes are not saved on Cancel # cms/djangoapps/contentstore/features/problem-editor.feature:72
Given I have created a Blank Common Problem # cms/djangoapps/contentstore/features/problem-editor.py:21
When I edit and select Settings # cms/djangoapps/contentstore/features/problem-editor.py:91
Then I can set the weight to "3.5" # cms/djangoapps/contentstore/features/problem-editor.py:174
And I can modify the display name # cms/djangoapps/contentstore/features/problem-editor.py:110
Then If I press Cancel my changes are not persisted # cms/djangoapps/contentstore/features/problem-editor.py:225
@shard_1
Scenario: Edit High Level source is available for LaTeX problem # cms/djangoapps/contentstore/features/problem-editor.feature:79
Given I have created a LaTeX Problem # cms/djangoapps/contentstore/features/problem-editor.py:241
When I edit and select Settings # cms/djangoapps/contentstore/features/problem-editor.py:91
Then Edit High Level Source is visible # cms/djangoapps/contentstore/features/problem-editor.py:220
2014-10-08 15:47:31,240 ERROR [root] Uncaught exception from <class 'django.core.handlers.wsgi.WSGIHandler'>
Traceback (most recent call last):
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/views/decorators/http.py", line 41, in inner
return func(request, *args, **kwargs)
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py", line 20, in _wrapped_view
return view_func(request, *args, **kwargs)
File "/edx/app/edxapp/edx-platform/common/djangoapps/util/json_request.py", line 24, in parse_json_into_request
return view_function(request, *args, **kwargs)
File "/edx/app/edxapp/edx-platform/cms/djangoapps/contentstore/views/item.py", line 206, in xblock_view_handler
xblock = store.get_item(usage_key)
File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/mixed.py", line 82, in inner
retval = func(field_decorator=strip_key_collection, *args, **kwargs)
File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/mixed.py", line 208, in get_item
return store.get_item(usage_key, depth, **kwargs)
File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/mongo/draft.py", line 107, in get_item
return get_published()
File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/mongo/draft.py", line 79, in get_published
return wrap_draft(super(DraftModuleStore, self).get_item(usage_key, depth=depth))
File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/mongo/base.py", line 853, in get_item
item = self._find_one(usage_key)
File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/mongo/base.py", line 779, in _find_one
raise ItemNotFoundError(location)
ItemNotFoundError: i4x://MITx/999/vertical/35ba0f722eb94d63a63fd0832b6e3e1a
2014-10-08 15:47:31,258 ERROR [django.request] Internal Server Error: /xblock/i4x://MITx/999/vertical/35ba0f722eb94d63a63fd0832b6e3e1a/container_preview
Traceback (most recent call last):
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/views/decorators/http.py", line 41, in inner
return func(request, *args, **kwargs)
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py", line 20, in _wrapped_view
return view_func(request, *args, **kwargs)
File "/edx/app/edxapp/edx-platform/common/djangoapps/util/json_request.py", line 24, in parse_json_into_request
return view_function(request, *args, **kwargs)
File "/edx/app/edxapp/edx-platform/cms/djangoapps/contentstore/views/item.py", line 206, in xblock_view_handler
xblock = store.get_item(usage_key)
File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/mixed.py", line 82, in inner
retval = func(field_decorator=strip_key_collection, *args, **kwargs)
File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/mixed.py", line 208, in get_item
return store.get_item(usage_key, depth, **kwargs)
File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/mongo/draft.py", line 107, in get_item
return get_published()
File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/mongo/draft.py", line 79, in get_published
return wrap_draft(super(DraftModuleStore, self).get_item(usage_key, depth=depth))
File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/mongo/base.py", line 853, in get_item
item = self._find_one(usage_key)
File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/mongo/base.py", line 779, in _find_one
raise ItemNotFoundError(location)
ItemNotFoundError: i4x://MITx/999/vertical/35ba0f722eb94d63a63fd0832b6e3e1a
@shard_1
Scenario: Cheat sheet visible on toggle # cms/djangoapps/contentstore/features/problem-editor.feature:84
Given I have created a Blank Common Problem # cms/djangoapps/contentstore/features/problem-editor.py:21
And I can edit the problem # cms/djangoapps/contentstore/features/problem-editor.py:302
Then I can see cheatsheet # cms/djangoapps/contentstore/features/problem-editor.py:320
@shard_1
Scenario: Reply on Annotation and Return to Annotation link works for Annotation problem# cms/djangoapps/contentstore/features/problem-editor.feature:89
Given I have created a unit with advanced module "annotatable" # cms/djangoapps/contentstore/features/problem-editor.py:27
And I have created an advanced component "Annotation" of type "annotatable" # cms/djangoapps/contentstore/features/problem-editor.py:38
And I have created an advanced problem of type "Blank Advanced Problem" # cms/djangoapps/contentstore/features/problem-editor.py:81
And I edit first blank advanced problem for annotation response # cms/djangoapps/contentstore/features/problem-editor.py:307
When I mouseover on "annotatable-span" # cms/djangoapps/contentstore/features/problem-editor.py:57
Then I can see Reply to Annotation link # cms/djangoapps/contentstore/features/problem-editor.py:63
And I see that page has scrolled "down" when I click on "annotatable-reply" link # cms/djangoapps/contentstore/features/problem-editor.py:69
And I see that page has scrolled "up" when I click on "annotation-return" link # cms/djangoapps/contentstore/features/problem-editor.py:69
Feature: CMS.Sign in # cms/djangoapps/contentstore/features/signup.feature:2
In order to use the edX content # cms/djangoapps/contentstore/features/signup.feature:3
As a new user # cms/djangoapps/contentstore/features/signup.feature:4
I want to signup for a student account # cms/djangoapps/contentstore/features/signup.feature:5
@shard_2
Scenario: Sign up from the homepage # cms/djangoapps/contentstore/features/signup.feature:7
Given I visit the Studio homepage # cms/djangoapps/contentstore/features/common.py:25
When I click the link with the text "Sign Up" # common/djangoapps/terrain/steps.py:122
And I fill in the registration form # cms/djangoapps/contentstore/features/signup.py:8
And I press the Create My Account button on the registration form # cms/djangoapps/contentstore/features/signup.py:20
Then I should see an email verification prompt # cms/djangoapps/contentstore/features/signup.py:26
@shard_2
Scenario: Login with a valid redirect # cms/djangoapps/contentstore/features/signup.feature:14
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
And I am not logged in # common/djangoapps/terrain/steps.py:111
And I visit the url "/course/slashes:MITx+999+Robot_Super_Course" # common/djangoapps/terrain/steps.py:187
And I should see that the path is "/signin?next=/course/slashes%3AMITx%2B999%2BRobot_Super_Course" # common/djangoapps/terrain/steps.py:83
When I fill in and submit the signin form # cms/djangoapps/contentstore/features/signup.py:32
2014-10-08 15:48:16,031 ERROR [root] Uncaught exception from <class 'django.core.handlers.wsgi.WSGIHandler'>
Traceback (most recent call last):
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py", line 20, in _wrapped_view
return view_func(request, *args, **kwargs)
File "/edx/app/edxapp/edx-platform/cms/djangoapps/contentstore/views/course.py", line 230, in course_handler
return course_index(request, CourseKey.from_string(course_key_string))
File "/edx/app/edxapp/venvs/edxapp/src/opaque-keys/opaque_keys/__init__.py", line 182, in from_string
return getattr(cls, 'deprecated_fallback')._from_deprecated_string(serialized)
File "/edx/app/edxapp/venvs/edxapp/src/opaque-keys/opaque_keys/edx/locator.py", line 398, in _from_deprecated_string
raise InvalidKeyError(cls, serialized)
InvalidKeyError: <class 'opaque_keys.edx.locator.CourseLocator'>: slashes:MITx+999+Robot_Super_Course
2014-10-08 15:48:16,033 ERROR [django.request] Internal Server Error: /course/slashes:MITx+999+Robot_Super_Course
Traceback (most recent call last):
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py", line 20, in _wrapped_view
return view_func(request, *args, **kwargs)
File "/edx/app/edxapp/edx-platform/cms/djangoapps/contentstore/views/course.py", line 230, in course_handler
return course_index(request, CourseKey.from_string(course_key_string))
File "/edx/app/edxapp/venvs/edxapp/src/opaque-keys/opaque_keys/__init__.py", line 182, in from_string
return getattr(cls, 'deprecated_fallback')._from_deprecated_string(serialized)
File "/edx/app/edxapp/venvs/edxapp/src/opaque-keys/opaque_keys/edx/locator.py", line 398, in _from_deprecated_string
raise InvalidKeyError(cls, serialized)
InvalidKeyError: <class 'opaque_keys.edx.locator.CourseLocator'>: slashes:MITx+999+Robot_Super_Course
And I wait for "2" seconds # common/djangoapps/terrain/steps.py:31
Then I should see that the path is "/course/slashes:MITx+999+Robot_Super_Course" # common/djangoapps/terrain/steps.py:83
@shard_2
Scenario: Login with an invalid redirect # cms/djangoapps/contentstore/features/signup.feature:23
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
And I am not logged in # common/djangoapps/terrain/steps.py:111
And I visit the url "/signin?next=http://www.google.com/" # common/djangoapps/terrain/steps.py:187
When I fill in and submit the signin form # cms/djangoapps/contentstore/features/signup.py:32
And I wait for "2" seconds # common/djangoapps/terrain/steps.py:31
Then I should see that the path is "/course/" # common/djangoapps/terrain/steps.py:83
Feature: CMS.Textbooks # cms/djangoapps/contentstore/features/textbooks.feature:2
@shard_2
Scenario: No textbooks # cms/djangoapps/contentstore/features/textbooks.feature:4
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
When I go to the textbooks page # cms/djangoapps/contentstore/features/textbooks.py:13
Then I should see a message telling me to create a new textbook # cms/djangoapps/contentstore/features/textbooks.py:21
@skip_internetexplorer @skip_safari @shard_2
Scenario: Create a textbook # cms/djangoapps/contentstore/features/textbooks.feature:12
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
And I go to the textbooks page # cms/djangoapps/contentstore/features/textbooks.py:13
When I click on the New Textbook button # cms/djangoapps/contentstore/features/textbooks.py:34
And I name my textbook "Economics" # cms/djangoapps/contentstore/features/textbooks.py:41
And I name the first chapter "Chapter 1" # cms/djangoapps/contentstore/features/textbooks.py:49
And I click the Upload Asset link for the first chapter # cms/djangoapps/contentstore/features/textbooks.py:67
And I upload the textbook "textbook.pdf" # cms/djangoapps/contentstore/features/textbooks.py:29
And I wait for "2" seconds # common/djangoapps/terrain/steps.py:31
And I save the textbook # cms/djangoapps/contentstore/features/textbooks.py:80
Then I should see a textbook named "Economics" with a chapter path containing "/static/textbook.pdf" # cms/djangoapps/contentstore/features/textbooks.py:86
And I reload the page # common/djangoapps/terrain/steps.py:36
Then I should see a textbook named "Economics" with a chapter path containing "/static/textbook.pdf" # cms/djangoapps/contentstore/features/textbooks.py:86
@shard_2
Scenario: Create a textbook with multiple chapters # cms/djangoapps/contentstore/features/textbooks.feature:26
Given I have opened a new course in Studio # cms/djangoapps/contentstore/features/common.py:56
And I go to the textbooks page # cms/djangoapps/contentstore/features/textbooks.py:13
When I click on the New Textbook button # cms/djangoapps/contentstore/features/textbooks.py:34
And I name my textbook "History" # cms/djangoapps/contentstore/features/textbooks.py:41
And I name the first chapter "Britain" # cms/djangoapps/contentstore/features/textbooks.py:49
And I type in "britain.pdf" for the first chapter asset # cms/djangoapps/contentstore/features/textbooks.py:58
And I click Add a Chapter # cms/djangoapps/contentstore/features/textbooks.py:74
And I name the second chapter "America" # cms/djangoapps/contentstore/features/textbooks.py:49
And I type in "america.pdf" for the second chapter asset # cms/djangoapps/contentstore/features/textbooks.py:58
And I save the textbook # cms/djangoapps/contentstore/features/textbooks.py:80
Then I should see a textbook named "History" with 2 chapters # cms/djangoapps/contentstore/features/textbooks.py:94
And I click the textbook chapters # cms/djangoapps/contentstore/features/textbooks.py:107
Then I should see a textbook named "History" with 2 chapters # cms/djangoapps/contentstore/features/textbooks.py:94
And the first chapter should be named "Britain" # cms/djangoapps/contentstore/features/textbooks.py:112
And the first chapter should have an asset called "britain.pdf" # cms/djangoapps/contentstore/features/textbooks.py:121
And the second chapter should be named "America" # cms/djangoapps/contentstore/features/textbooks.py:112
And the second chapter should have an asset called "america.pdf" # cms/djangoapps/contentstore/features/textbooks.py:121
And I reload the page # common/djangoapps/terrain/steps.py:36
Then I should see a textbook named "History" with 2 chapters # cms/djangoapps/contentstore/features/textbooks.py:94
And I click the textbook chapters # cms/djangoapps/contentstore/features/textbooks.py:107
Then I should see a textbook named "History" with 2 chapters # cms/djangoapps/contentstore/features/textbooks.py:94
And the first chapter should be named "Britain" # cms/djangoapps/contentstore/features/textbooks.py:112
And the first chapter should have an asset called "britain.pdf" # cms/djangoapps/contentstore/features/textbooks.py:121
And the second chapter should be named "America" # cms/djangoapps/contentstore/features/textbooks.py:112
And the second chapter should have an asset called "america.pdf" # cms/djangoapps/contentstore/features/textbooks.py:121
Feature: CMS Transcripts # cms/djangoapps/contentstore/features/transcripts.feature:2
As a course author, I want to be able to create video components # cms/djangoapps/contentstore/features/transcripts.feature:3
@shard_3 @requires_stub_youtube
Scenario: Youtube id only: check "not found" and "import" states# cms/djangoapps/contentstore/features/transcripts.feature:21
Given I have created a Video component with subtitles # cms/djangoapps/contentstore/features/video.py:51
And I edit the component # cms/djangoapps/contentstore/features/video.py:108
Transcript file was NOT found and not removed.
And I remove "t_not_exist" transcripts id from store # cms/djangoapps/contentstore/features/transcripts.py:165
And I enter a "http://youtu.be/t_not_exist" source to field number 1 # cms/djangoapps/contentstore/features/transcripts.py:181
Then I see status message "not found" # cms/djangoapps/contentstore/features/transcripts.py:117
And I see value "" in the field "Default Timed Transcript" # cms/djangoapps/contentstore/features/transcripts.py:211
Transcript file was NOT found and not removed.
And I remove "t__eq_exist" transcripts id from store # cms/djangoapps/contentstore/features/transcripts.py:165
And I enter a "http://youtu.be/t__eq_exist" source to field number 1 # cms/djangoapps/contentstore/features/transcripts.py:181
Then I see status message "not found on edx" # cms/djangoapps/contentstore/features/transcripts.py:117
And I see button "import" # cms/djangoapps/contentstore/features/transcripts.py:127
And I click transcript button "import" # cms/djangoapps/contentstore/features/transcripts.py:149
Then I see status message "found" # cms/djangoapps/contentstore/features/transcripts.py:117
And I see button "upload_new_timed_transcripts" # cms/djangoapps/contentstore/features/transcripts.py:127
And I see button "download_to_edit" # cms/djangoapps/contentstore/features/transcripts.py:127
And I see value "t__eq_exist" in the field "Default Timed Transcript" # cms/djangoapps/contentstore/features/transcripts.py:211
Feature: CMS.Upload Files # cms/djangoapps/contentstore/features/upload.feature:2
As a course author, I want to be able to upload files for my students # cms/djangoapps/contentstore/features/upload.feature:3
@skip_safari @shard_2
Scenario: Users can upload files # cms/djangoapps/contentstore/features/upload.feature:7
Given I am at the files and upload page of a Studio course # cms/djangoapps/contentstore/features/upload.py:171
When I upload the file "test" by clicking "Upload your first asset" # cms/djangoapps/contentstore/features/upload.py:46
Then I should see the file "test" was uploaded # cms/djangoapps/contentstore/features/upload.py:81
And The url for the file "test" is valid # cms/djangoapps/contentstore/features/upload.py:87
When I upload the file "test2" # cms/djangoapps/contentstore/features/upload.py:28
Then I should see the file "test2" was uploaded # cms/djangoapps/contentstore/features/upload.py:81
And The url for the file "test2" is valid # cms/djangoapps/contentstore/features/upload.py:87
@skip_safari @shard_2
Scenario: Users can upload multiple files # cms/djangoapps/contentstore/features/upload.feature:18
Given I am at the files and upload page of a Studio course # cms/djangoapps/contentstore/features/upload.py:171
When I upload the files "test,test2" # cms/djangoapps/contentstore/features/upload.py:51
Then I should see the file "test" was uploaded # cms/djangoapps/contentstore/features/upload.py:81
And I should see the file "test2" was uploaded # cms/djangoapps/contentstore/features/upload.py:81
And The url for the file "test2" is valid # cms/djangoapps/contentstore/features/upload.py:87
And The url for the file "test" is valid # cms/djangoapps/contentstore/features/upload.py:87
@skip_safari @shard_2
Scenario: Users can update files # cms/djangoapps/contentstore/features/upload.feature:28
Given I am at the files and upload page of a Studio course # cms/djangoapps/contentstore/features/upload.py:171
When I upload the file "test" # cms/djangoapps/contentstore/features/upload.py:28
And I upload the file "test" # cms/djangoapps/contentstore/features/upload.py:28
Then I should see only one "test" # cms/djangoapps/contentstore/features/upload.py:102
@skip_safari @shard_2
Scenario: Users can delete uploaded files # cms/djangoapps/contentstore/features/upload.feature:36
Given I am at the files and upload page of a Studio course # cms/djangoapps/contentstore/features/upload.py:171
When I upload the file "test" # cms/djangoapps/contentstore/features/upload.py:28
And I delete the file "test" # cms/djangoapps/contentstore/features/upload.py:93
Then I should not see the file "test" was uploaded # cms/djangoapps/contentstore/features/upload.py:69
And I see a confirmation that the file was deleted # cms/djangoapps/contentstore/features/upload.py:201
@skip_safari @shard_2
Scenario: Users can download files # cms/djangoapps/contentstore/features/upload.feature:45
Given I am at the files and upload page of a Studio course # cms/djangoapps/contentstore/features/upload.py:171
When I upload the file "test" # cms/djangoapps/contentstore/features/upload.py:28
Then I can download the correct "test" file # cms/djangoapps/contentstore/features/upload.py:112
@skip_safari @shard_2
Scenario: Users can download updated files # cms/djangoapps/contentstore/features/upload.feature:52
Given I am at the files and upload page of a Studio course # cms/djangoapps/contentstore/features/upload.py:171
When I upload the file "test" # cms/djangoapps/contentstore/features/upload.py:28
And I modify "test" # cms/djangoapps/contentstore/features/upload.py:131
And I reload the page # common/djangoapps/terrain/steps.py:36
And I upload the file "test" # cms/djangoapps/contentstore/features/upload.py:28
Then I can download the correct "test" file # cms/djangoapps/contentstore/features/upload.py:112
@skip_safari @shard_2
Scenario: Users can lock assets through asset index # cms/djangoapps/contentstore/features/upload.feature:62
Given I am at the files and upload page of a Studio course # cms/djangoapps/contentstore/features/upload.py:171
When I upload an asset # cms/djangoapps/contentstore/features/upload.py:137
And I lock the asset # cms/djangoapps/contentstore/features/upload.py:142
Then the asset is locked # cms/djangoapps/contentstore/features/upload.py:162
And I see a "saving" notification # cms/djangoapps/contentstore/features/course-updates.py:136
And I reload the page # common/djangoapps/terrain/steps.py:36
Then the asset is locked # cms/djangoapps/contentstore/features/upload.py:162
@skip_safari @shard_2
Scenario: Users can unlock assets through asset index# cms/djangoapps/contentstore/features/upload.feature:73
Given I have created a course with a locked asset # cms/djangoapps/contentstore/features/upload.py:177
When I unlock the asset # cms/djangoapps/contentstore/features/upload.py:142
Then the asset is unlocked # cms/djangoapps/contentstore/features/upload.py:162
And I see a "saving" notification # cms/djangoapps/contentstore/features/course-updates.py:136
And I reload the page # common/djangoapps/terrain/steps.py:36
Then the asset is unlocked # cms/djangoapps/contentstore/features/upload.py:162
@skip_safari @shard_2
Scenario: Locked assets can't be viewed if logged in as an unregistered user# cms/djangoapps/contentstore/features/upload.feature:83
Given I have created a course with a locked asset # cms/djangoapps/contentstore/features/upload.py:177
And the user "bob" exists # cms/djangoapps/contentstore/features/common.py:370
When "bob" logs in # cms/djangoapps/contentstore/features/common.py:351
Then the asset is protected # cms/djangoapps/contentstore/features/upload.py:187
@skip_safari @shard_2
Scenario: Locked assets can be viewed if logged in as a registered user# cms/djangoapps/contentstore/features/upload.feature:91
Given I have created a course with a locked asset # cms/djangoapps/contentstore/features/upload.py:177
And the user "bob" exists # cms/djangoapps/contentstore/features/common.py:370
And the user "bob" is enrolled in the course # cms/djangoapps/contentstore/features/upload.py:153
When "bob" logs in # cms/djangoapps/contentstore/features/common.py:351
Then the asset is viewable # cms/djangoapps/contentstore/features/upload.py:187
@skip_safari @shard_2
Scenario: Locked assets can't be viewed if logged out# cms/djangoapps/contentstore/features/upload.feature:100
Given I have created a course with a locked asset # cms/djangoapps/contentstore/features/upload.py:177
When I log out # cms/djangoapps/contentstore/features/common.py:389
Then the asset is protected # cms/djangoapps/contentstore/features/upload.py:187
@skip_safari @shard_2
Scenario: Locked assets can be viewed with is_staff account# cms/djangoapps/contentstore/features/upload.feature:107
Given I have created a course with a locked asset # cms/djangoapps/contentstore/features/upload.py:177
And the user "staff" exists as a course is_staff # cms/djangoapps/contentstore/features/common.py:370
When "staff" logs in # cms/djangoapps/contentstore/features/common.py:351
Then the asset is viewable # cms/djangoapps/contentstore/features/upload.py:187
@skip_safari @shard_2
Scenario: Unlocked assets can be viewed by anyone # cms/djangoapps/contentstore/features/upload.feature:115
Given I have created a course with a unlocked asset # cms/djangoapps/contentstore/features/upload.py:177
When I log out # cms/djangoapps/contentstore/features/common.py:389
Then the asset is viewable # cms/djangoapps/contentstore/features/upload.py:187
20 features (20 passed)
145 scenarios (145 passed)
804 steps (804 passed)
Cleaning up after cms acceptance
---> pavelib.utils.test.utils.clean_mongo
mongo localhost:27017 /edx/app/edxapp/edx-platform/scripts/delete-mongo-test-dbs.js
MongoDB shell version: 2.4.7
connecting to: localhost:27017/test
Cleaning up after acceptance
================================================
Tests failed in the following suites:
* lms acceptance
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment