Merge pull request #10066 from edx/efischer/edit_studio_test
TNL-3305 HTML Editing Bok Choy Test
This commit is contained in:
@@ -7,25 +7,62 @@ class HtmlComponentEditorView(ComponentEditorView):
|
|||||||
"""
|
"""
|
||||||
Represents the rendered view of an HTML component editor.
|
Represents the rendered view of an HTML component editor.
|
||||||
"""
|
"""
|
||||||
def set_content_and_save(self, content):
|
|
||||||
|
editor_mode_css = '.edit-xblock-modal .editor-modes .editor-button'
|
||||||
|
|
||||||
|
def set_content_and_save(self, content, raw=False):
|
||||||
|
"""Types content into the html component and presses Save.
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
content (str): The content to be used.
|
||||||
|
raw (bool): If true, edits in 'raw HTML' mode.
|
||||||
"""
|
"""
|
||||||
Types content into the html component and presses Save.
|
if raw:
|
||||||
"""
|
self.set_raw_content(content)
|
||||||
self.set_content(content)
|
else:
|
||||||
|
self.set_content(content)
|
||||||
|
|
||||||
self.save()
|
self.save()
|
||||||
|
|
||||||
def set_content_and_cancel(self, content):
|
def set_content_and_cancel(self, content, raw=False):
|
||||||
|
"""Types content into the html component and presses Cancel to abort.
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
content (str): The content to be used.
|
||||||
|
raw (bool): If true, edits in 'raw HTML' mode.
|
||||||
"""
|
"""
|
||||||
Types content into the html component and presses Cancel to abort the change.
|
if raw:
|
||||||
"""
|
self.set_raw_content(content)
|
||||||
self.set_content(content)
|
else:
|
||||||
|
self.set_content(content)
|
||||||
|
|
||||||
self.cancel()
|
self.cancel()
|
||||||
|
|
||||||
def set_content(self, content):
|
def set_content(self, content):
|
||||||
|
"""Types content into the html component, leaving the component open.
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
content (str): The content to be used.
|
||||||
"""
|
"""
|
||||||
Types content into the html component, leaving the component open.
|
self.q(css=self.editor_mode_css).click()
|
||||||
"""
|
|
||||||
self.q(css='.edit-xblock-modal .editor-modes .editor-button').click()
|
selector = '.html-editor .mce-edit-area'
|
||||||
editor = self.q(css=self._bounded_selector('.html-editor .mce-edit-area'))[0]
|
editor = self.q(css=self._bounded_selector(selector))[0]
|
||||||
ActionChains(self.browser).click(editor).\
|
ActionChains(self.browser).click(editor).\
|
||||||
send_keys([Keys.CONTROL, 'a']).key_up(Keys.CONTROL).send_keys(content).perform()
|
send_keys([Keys.CONTROL, 'a']).key_up(Keys.CONTROL).\
|
||||||
|
send_keys(content).perform()
|
||||||
|
|
||||||
|
def set_raw_content(self, content):
|
||||||
|
"""Types content in raw html mode, leaving the component open.
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
content (str): The content to be used.
|
||||||
|
"""
|
||||||
|
self.q(css=self.editor_mode_css).click()
|
||||||
|
self.q(css='[aria-label="Edit HTML"]').click()
|
||||||
|
|
||||||
|
#Focus goes to the editor by default
|
||||||
|
ActionChains(self.browser).send_keys([Keys.CONTROL, 'a']).\
|
||||||
|
key_up(Keys.CONTROL).send_keys(content).perform()
|
||||||
|
|
||||||
|
self.q(css='.mce-foot .mce-primary').click()
|
||||||
|
|||||||
@@ -293,6 +293,24 @@ class EditContainerTest(NestedVerticalTest):
|
|||||||
container = self.go_to_nested_container_page()
|
container = self.go_to_nested_container_page()
|
||||||
self.modify_display_name_and_verify(container)
|
self.modify_display_name_and_verify(container)
|
||||||
|
|
||||||
|
def test_edit_raw_html(self):
|
||||||
|
"""
|
||||||
|
Test the raw html editing functionality.
|
||||||
|
"""
|
||||||
|
modified_content = "<p>modified content</p>"
|
||||||
|
|
||||||
|
#navigate to and open the component for editing
|
||||||
|
unit = self.go_to_unit_page()
|
||||||
|
container = unit.xblocks[1].go_to_container()
|
||||||
|
component = container.xblocks[1].children[0]
|
||||||
|
component.edit()
|
||||||
|
|
||||||
|
html_editor = HtmlComponentEditorView(self.browser, component.locator)
|
||||||
|
html_editor.set_content_and_save(modified_content, raw=True)
|
||||||
|
|
||||||
|
#note we're expecting the <p> tags to have been removed
|
||||||
|
self.assertEqual(component.student_content, "modified content")
|
||||||
|
|
||||||
|
|
||||||
class EditVisibilityModalTest(ContainerBase):
|
class EditVisibilityModalTest(ContainerBase):
|
||||||
"""
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user