Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
from lettuce import world
from nose.tools import assert_equal, assert_in # pylint: disable=E0611
from terrain.steps import reload_the_page
from common import type_in_codemirror


@world.absorb
Expand Down Expand Up @@ -114,6 +115,16 @@ def edit_component():
world.css_click('a.edit-button')


def enter_xml_in_advanced_problem(step, text):
"""
Edits an advanced problem (assumes only on page),
types the provided XML, and saves the component.
"""
world.edit_component()
type_in_codemirror(0, text)
world.save_component(step)


@world.absorb

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should not be using a pattern of absorbing all the methods from component_settings_editor_helpers into world. Instead we should just import them. Can you please refactor this?

def verify_setting_entry(setting, display_name, value, explicitly_set):
"""
Expand Down
8 changes: 8 additions & 0 deletions cms/djangoapps/contentstore/features/course-export.feature
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,11 @@ Feature: Course export
And I export the course
Then I get an error dialog
And I can click to go to the unit with the error

Scenario: User is directed to problem with & in it when export fails
Given I am in Studio editing a new unit
When I add a "Blank Advanced Problem" "Advanced Problem" component
And I edit and enter an ampersand
And I export the course
Then I get an error dialog
And I can click to go to the unit with the error
12 changes: 7 additions & 5 deletions cms/djangoapps/contentstore/features/course-export.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#pylint: disable=C0111

from lettuce import world, step
from common import type_in_codemirror
from component_settings_editor_helpers import enter_xml_in_advanced_problem
from nose.tools import assert_true, assert_equal


Expand All @@ -16,9 +16,7 @@ def i_export_the_course(step):

@step('I edit and enter bad XML$')
def i_enter_bad_xml(step):
world.edit_component()
type_in_codemirror(
0,
enter_xml_in_advanced_problem(step,
"""<problem><h1>Smallest Canvas</h1>
<p>You want to make the smallest canvas you can.</p>
<multiplechoiceresponse>
Expand All @@ -29,7 +27,11 @@ def i_enter_bad_xml(step):
</multiplechoiceresponse>
</problem>"""
)
world.save_component(step)


@step('I edit and enter an ampersand$')
def i_enter_bad_xml(step):
enter_xml_in_advanced_problem(step, "<problem>&</problem>")


@step('I get an error dialog$')
Expand Down
2 changes: 1 addition & 1 deletion common/test/data/simple/html/toylab.html
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
<b>Lab 2A: Superposition Experiment</b>

<p>Isn't the toy course great?</p>
<p>Isn't the toy course great? &</p>