Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
E
edx-platform-release
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Package Registry
Model registry
Operate
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Hsin-Yu Chien
edx-platform-release
Commits
ca651538
Unverified
Commit
ca651538
authored
6 years ago
by
Agha Awais
Committed by
GitHub
6 years ago
Browse files
Options
Downloads
Plain Diff
Merge pull request #19801 from edx/awais/removed_pages_lettuce_tests
removed old lettuce files for pages/tabs
parents
c8a33f8e
7d29fbd5
Loading
Loading
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
cms/djangoapps/contentstore/features/pages.feature
+0
-58
0 additions, 58 deletions
cms/djangoapps/contentstore/features/pages.feature
cms/djangoapps/contentstore/features/pages.py
+0
-153
0 additions, 153 deletions
cms/djangoapps/contentstore/features/pages.py
with
0 additions
and
211 deletions
cms/djangoapps/contentstore/features/pages.feature
deleted
100644 → 0
+
0
−
58
View file @
c8a33f8e
@shard_2
Feature
:
CMS.Pages
As a course author, I want to be able to add pages
Scenario
:
Users can add static pages
Given
I have opened the pages page in a new course
Then
I should not see any static pages
When
I add a new static page
Then
I should see a static page named
"Empty"
Scenario
:
Users can delete static pages
Given
I have created a static page
When
I
"delete"
the static page
Then
I am shown a prompt
When
I confirm the prompt
Then
I should not see any static pages
# Safari won't update the name properly
@skip_safari
Scenario
:
Users can edit static pages
Given
I have created a static page
When
I
"edit"
the static page
And
I change the name to
"New"
Then
I should see a static page named
"New"
# Safari won't update the name properly
@skip_safari
Scenario
:
Users can reorder static pages
Given
I have created two different static pages
When
I drag the first static page to the last
Then
the static pages are switched
And
I reload the page
Then
the static pages are switched
Scenario
:
Users can reorder built-in pages
Given
I have opened the pages page in a new course
Then
the built-in pages are in the default order
When
I drag the first page to the last
Then
the built-in pages are switched
And
I reload the page
Then
the built-in pages are switched
Scenario
:
Users can reorder built-in pages amongst static pages
Given
I have created two different static pages
Then
the pages are in the default order
Scenario
:
Users can toggle visibility on hideable pages
Given
I have opened the pages page in a new course
Then
I should see the
"wiki"
page as
"visible"
When
I toggle the visibility of the
"wiki"
page
Then
I should see the
"wiki"
page as
"hidden"
And
I reload the page
Then
I should see the
"wiki"
page as
"hidden"
When
I toggle the visibility of the
"wiki"
page
Then
I should see the
"wiki"
page as
"visible"
And
I reload the page
Then
I should see the
"wiki"
page as
"visible"
This diff is collapsed.
Click to expand it.
cms/djangoapps/contentstore/features/pages.py
deleted
100644 → 0
+
0
−
153
View file @
c8a33f8e
# pylint: disable=missing-docstring
# pylint: disable=redefined-outer-name
# pylint: disable=unused-argument
# pylint: disable=no-member
from
lettuce
import
step
,
world
from
openedx.core.lib.tests.tools
import
assert_equal
,
assert_in
# pylint: disable=no-name-in-module
CSS_FOR_TAB_ELEMENT
=
u
"
li[data-tab-id=
'
{0}
'
] input.toggle-checkbox
"
@step
(
u
'
I go to the pages page$
'
)
def
go_to_static
(
step
):
menu_css
=
'
li.nav-course-courseware
'
static_css
=
'
li.nav-course-courseware-pages a
'
world
.
css_click
(
menu_css
)
world
.
css_click
(
static_css
)
@step
(
u
'
I add a new static page$
'
)
def
add_page
(
step
):
button_css
=
'
a.new-button
'
world
.
css_click
(
button_css
)
@step
(
u
'
I should see a static page named
"
([^
"
]*)
"
$
'
)
def
see_a_static_page_named_foo
(
step
,
name
):
pages_css
=
'
div.xmodule_StaticTabModule
'
page_name_html
=
world
.
css_html
(
pages_css
)
assert_equal
(
page_name_html
.
strip
(),
name
)
@step
(
u
'
I should not see any static pages$
'
)
def
not_see_any_static_pages
(
step
):
pages_css
=
'
div.xmodule_StaticTabModule
'
assert
world
.
is_css_not_present
(
pages_css
,
wait_time
=
30
)
@step
(
u
'
I
"
(edit|delete)
"
the static page$
'
)
def
click_edit_or_delete
(
step
,
edit_or_delete
):
button_css
=
'
ul.component-actions .%s-button
'
%
edit_or_delete
world
.
css_click
(
button_css
)
@step
(
u
'
I change the name to
"
([^
"
]*)
"
$
'
)
def
change_name
(
step
,
new_name
):
settings_css
=
'
.settings-button
'
world
.
css_click
(
settings_css
)
input_css
=
'
input.setting-input
'
world
.
css_fill
(
input_css
,
new_name
)
if
world
.
is_firefox
():
world
.
trigger_event
(
input_css
)
world
.
save_component
()
@step
(
u
'
I drag the first static page to the last$
'
)
def
drag_first_static_page_to_last
(
step
):
drag_first_to_last_with_css
(
'
.component
'
)
@step
(
u
'
I have created a static page$
'
)
def
create_static_page
(
step
):
step
.
given
(
'
I have opened the pages page in a new course
'
)
step
.
given
(
'
I add a new static page
'
)
@step
(
u
'
I have opened the pages page in a new course$
'
)
def
open_pages_page_in_new_course
(
step
):
step
.
given
(
'
I have opened a new course in Studio
'
)
step
.
given
(
'
I go to the pages page
'
)
@step
(
u
'
I have created two different static pages$
'
)
def
create_two_pages
(
step
):
step
.
given
(
'
I have created a static page
'
)
step
.
given
(
'
I
"
edit
"
the static page
'
)
step
.
given
(
'
I change the name to
"
First
"'
)
step
.
given
(
'
I add a new static page
'
)
# Verify order of pages
_verify_page_names
(
'
First
'
,
'
Empty
'
)
@step
(
u
'
the static pages are switched$
'
)
def
static_pages_are_switched
(
step
):
_verify_page_names
(
'
Empty
'
,
'
First
'
)
def
_verify_page_names
(
first
,
second
):
world
.
wait_for
(
func
=
lambda
_
:
len
(
world
.
css_find
(
'
.xmodule_StaticTabModule
'
))
==
2
,
timeout
=
200
,
timeout_msg
=
"
Timed out waiting for two pages to be present
"
)
pages
=
world
.
css_find
(
'
.xmodule_StaticTabModule
'
)
assert_equal
(
pages
[
0
].
text
,
first
)
assert_equal
(
pages
[
1
].
text
,
second
)
@step
(
u
'
the built-in pages are in the default order$
'
)
def
built_in_pages_in_default_order
(
step
):
expected_pages
=
[
'
Home
'
,
'
Course
'
,
'
Wiki
'
,
'
Progress
'
]
see_pages_in_expected_order
(
expected_pages
)
@step
(
u
'
the built-in pages are switched$
'
)
def
built_in_pages_switched
(
step
):
expected_pages
=
[
'
Home
'
,
'
Course
'
,
'
Progress
'
,
'
Wiki
'
]
see_pages_in_expected_order
(
expected_pages
)
@step
(
u
'
the pages are in the default order$
'
)
def
pages_in_default_order
(
step
):
expected_pages
=
[
'
Home
'
,
'
Course
'
,
'
Wiki
'
,
'
Progress
'
,
'
First
'
,
'
Empty
'
]
see_pages_in_expected_order
(
expected_pages
)
@step
(
u
'
the pages are switched$$
'
)
def
pages_are_switched
(
step
):
expected_pages
=
[
'
Home
'
,
'
Course
'
,
'
Progress
'
,
'
First
'
,
'
Empty
'
,
'
Wiki
'
]
see_pages_in_expected_order
(
expected_pages
)
@step
(
u
'
I drag the first page to the last$
'
)
def
drag_first_page_to_last
(
step
):
drag_first_to_last_with_css
(
'
.is-movable
'
)
@step
(
u
'
I should see the
"
([^
"
]*)
"
page as
"
(visible|hidden)
"
$
'
)
def
page_is_visible_or_hidden
(
step
,
page_id
,
visible_or_hidden
):
hidden
=
visible_or_hidden
==
"
hidden
"
assert_equal
(
world
.
css_find
(
CSS_FOR_TAB_ELEMENT
.
format
(
page_id
)).
checked
,
hidden
)
@step
(
u
'
I toggle the visibility of the
"
([^
"
]*)
"
page$
'
)
def
page_toggle_visibility
(
step
,
page_id
):
world
.
css_find
(
CSS_FOR_TAB_ELEMENT
.
format
(
page_id
))[
0
].
click
()
def
drag_first_to_last_with_css
(
css_class
):
# For some reason, the drag_and_drop method did not work in this case.
draggables
=
world
.
css_find
(
css_class
+
'
.drag-handle
'
)
source
=
draggables
.
first
target
=
draggables
.
last
source
.
action_chains
.
click_and_hold
(
source
.
_element
).
perform
()
# pylint: disable=protected-access
source
.
action_chains
.
move_to_element_with_offset
(
target
.
_element
,
0
,
50
).
perform
()
# pylint: disable=protected-access
source
.
action_chains
.
release
().
perform
()
def
see_pages_in_expected_order
(
page_names_in_expected_order
):
pages
=
world
.
css_find
(
"
li.course-tab
"
)
assert_equal
(
len
(
page_names_in_expected_order
),
len
(
pages
))
for
i
,
page_name
in
enumerate
(
page_names_in_expected_order
):
assert_in
(
page_name
,
pages
[
i
].
text
)
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment