Merge pull request #1183 from edx/valera/add_option_transcripts_remove_onhover
Valera/add option transcripts remove onhover
This commit is contained in:
@@ -2,15 +2,18 @@
|
||||
Feature: CMS.Video Component
|
||||
As a course author, I want to be able to view my created videos in Studio.
|
||||
|
||||
# 1
|
||||
# Video Alpha Features will work in Firefox only when Firefox is the active window
|
||||
Scenario: Autoplay is disabled in Studio
|
||||
Given I have created a Video component
|
||||
Then when I view the video it does not have autoplay enabled
|
||||
|
||||
# 2
|
||||
Scenario: Creating a video takes a single click
|
||||
Given I have clicked the new unit button
|
||||
Then creating a video takes a single click
|
||||
|
||||
# 3
|
||||
# Sauce Labs cannot delete cookies
|
||||
@skip_sauce
|
||||
Scenario: Captions are hidden correctly
|
||||
@@ -18,12 +21,14 @@ Feature: CMS.Video Component
|
||||
And I have hidden captions
|
||||
Then when I view the video it does not show the captions
|
||||
|
||||
# 4
|
||||
# Sauce Labs cannot delete cookies
|
||||
@skip_sauce
|
||||
Scenario: Captions are shown correctly
|
||||
Given I have created a Video component with subtitles
|
||||
Then when I view the video it does show the captions
|
||||
|
||||
# 5
|
||||
# Sauce Labs cannot delete cookies
|
||||
@skip_sauce
|
||||
Scenario: Captions are toggled correctly
|
||||
@@ -31,7 +36,36 @@ Feature: CMS.Video Component
|
||||
And I have toggled captions
|
||||
Then when I view the video it does show the captions
|
||||
|
||||
# 6
|
||||
Scenario: Video data is shown correctly
|
||||
Given I have created a video with only XML data
|
||||
And I reload the page
|
||||
Then the correct Youtube video is shown
|
||||
|
||||
# 7
|
||||
Scenario: Closed captions become visible when the mouse hovers over CC button
|
||||
Given I have created a Video component with subtitles
|
||||
And Make sure captions are closed
|
||||
Then Captions become "invisible" after 3 seconds
|
||||
And I hover over button "CC"
|
||||
Then Captions become "visible"
|
||||
And I hover over button "volume"
|
||||
Then Captions become "invisible" after 3 seconds
|
||||
|
||||
# 8
|
||||
Scenario: Open captions never become invisible
|
||||
Given I have created a Video component with subtitles
|
||||
And Make sure captions are open
|
||||
Then Captions are "visible"
|
||||
And I hover over button "CC"
|
||||
Then Captions are "visible"
|
||||
And I hover over button "volume"
|
||||
Then Captions are "visible"
|
||||
|
||||
# 9
|
||||
Scenario: Closed captions are invisible when mouse doesn't hover on CC button
|
||||
Given I have created a Video component with subtitles
|
||||
And Make sure captions are closed
|
||||
Then Captions become "invisible" after 3 seconds
|
||||
And I hover over button "volume"
|
||||
Then Captions are "invisible"
|
||||
|
||||
@@ -4,6 +4,11 @@ from lettuce import world, step
|
||||
from xmodule.modulestore import Location
|
||||
from contentstore.utils import get_modulestore
|
||||
|
||||
BUTTONS = {
|
||||
'CC': '.hide-subtitles',
|
||||
'volume': '.volume',
|
||||
}
|
||||
|
||||
|
||||
@step('I have created a Video component$')
|
||||
def i_created_a_video_component(step):
|
||||
@@ -19,6 +24,7 @@ def i_created_a_video_component(step):
|
||||
def i_created_a_video_with_subs(_step):
|
||||
_step.given('I have created a Video component with subtitles "OEoXaMPEzfM"')
|
||||
|
||||
|
||||
@step('I have created a Video component with subtitles "([^"]*)"$')
|
||||
def i_created_a_video_with_subs_with_name(_step, sub_id):
|
||||
_step.given('I have created a Video component')
|
||||
@@ -115,3 +121,38 @@ def the_youtube_video_is_shown(_step):
|
||||
world.wait_for_xmodule()
|
||||
ele = world.css_find('.video').first
|
||||
assert ele['data-streams'].split(':')[1] == world.scenario_dict['YOUTUBE_ID']
|
||||
|
||||
|
||||
@step('Make sure captions are (.+)$')
|
||||
def set_captions_visibility_state(_step, captions_state):
|
||||
if captions_state == 'closed':
|
||||
if world.css_visible('.subtitles'):
|
||||
world.browser.find_by_css('.hide-subtitles').click()
|
||||
else:
|
||||
if not world.css_visible('.subtitles'):
|
||||
world.browser.find_by_css('.hide-subtitles').click()
|
||||
|
||||
|
||||
@step('I hover over button "([^"]*)"$')
|
||||
def hover_over_button(_step, button):
|
||||
world.css_find(BUTTONS[button.strip()]).mouse_over()
|
||||
|
||||
|
||||
@step('Captions (?:are|become) "([^"]*)"$')
|
||||
def are_captions_visibile(_step, visibility_state):
|
||||
_step.given('Captions become "{0}" after 0 seconds'.format(visibility_state))
|
||||
|
||||
|
||||
@step('Captions (?:are|become) "([^"]*)" after (.+) seconds$')
|
||||
def check_captions_visibility_state(_step, visibility_state, timeout):
|
||||
timeout = int(timeout.strip())
|
||||
|
||||
# Captions become invisible by fading out. We must wait by a specified
|
||||
# time.
|
||||
world.wait(timeout)
|
||||
|
||||
if visibility_state == 'visible':
|
||||
assert world.css_visible('.subtitles')
|
||||
else:
|
||||
assert not world.css_visible('.subtitles')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user