Commit 8a852f90 by Jay Zoldak

Fix or skip lettuce tests to run under phantomjs and firefox

parent 8a2d08bb
...@@ -3,10 +3,7 @@ ...@@ -3,10 +3,7 @@
from lettuce import world, step from lettuce import world, step
from common import * from common import *
import time from nose.tools import assert_false, assert_equal
from terrain.steps import reload_the_page
from nose.tools import assert_true, assert_false, assert_equal
""" """
http://selenium.googlecode.com/svn/trunk/docs/api/py/webdriver/selenium.webdriver.common.keys.html http://selenium.googlecode.com/svn/trunk/docs/api/py/webdriver/selenium.webdriver.common.keys.html
...@@ -18,8 +15,8 @@ VALUE_CSS = 'textarea.json' ...@@ -18,8 +15,8 @@ VALUE_CSS = 'textarea.json'
DISPLAY_NAME_KEY = "display_name" DISPLAY_NAME_KEY = "display_name"
DISPLAY_NAME_VALUE = '"Robot Super Course"' DISPLAY_NAME_VALUE = '"Robot Super Course"'
############### ACTIONS ####################
############### ACTIONS ####################
@step('I select the Advanced Settings$') @step('I select the Advanced Settings$')
def i_select_advanced_settings(step): def i_select_advanced_settings(step):
expand_icon_css = 'li.nav-course-settings i.icon-expand' expand_icon_css = 'li.nav-course-settings i.icon-expand'
...@@ -38,7 +35,7 @@ def i_am_on_advanced_course_settings(step): ...@@ -38,7 +35,7 @@ def i_am_on_advanced_course_settings(step):
@step(u'I press the "([^"]*)" notification button$') @step(u'I press the "([^"]*)" notification button$')
def press_the_notification_button(step, name): def press_the_notification_button(step, name):
css = 'a.%s-button' % name.lower() css = 'a.%s-button' % name.lower()
world.css_click_at(css) world.css_click(css)
@step(u'I edit the value of a policy key$') @step(u'I edit the value of a policy key$')
...@@ -52,7 +49,7 @@ def edit_the_value_of_a_policy_key(step): ...@@ -52,7 +49,7 @@ def edit_the_value_of_a_policy_key(step):
@step(u'I edit the value of a policy key and save$') @step(u'I edit the value of a policy key and save$')
def edit_the_value_of_a_policy_key(step): def edit_the_value_of_a_policy_key_and_save(step):
change_display_name_value(step, '"foo"') change_display_name_value(step, '"foo"')
...@@ -90,7 +87,7 @@ def it_is_formatted(step): ...@@ -90,7 +87,7 @@ def it_is_formatted(step):
@step('it is displayed as a string') @step('it is displayed as a string')
def it_is_formatted(step): def it_is_displayed_as_string(step):
assert_policy_entries([DISPLAY_NAME_KEY], ['"quote me"']) assert_policy_entries([DISPLAY_NAME_KEY], ['"quote me"'])
......
...@@ -10,6 +10,8 @@ Feature: Course checklists ...@@ -10,6 +10,8 @@ Feature: Course checklists
Then I can check and uncheck tasks in a checklist Then I can check and uncheck tasks in a checklist
And They are correctly selected after I reload the page And They are correctly selected after I reload the page
@skip-phantom
@skip-firefox
Scenario: A task can link to a location within Studio Scenario: A task can link to a location within Studio
Given I have opened Checklists Given I have opened Checklists
When I select a link to the course outline When I select a link to the course outline
...@@ -17,8 +19,9 @@ Feature: Course checklists ...@@ -17,8 +19,9 @@ Feature: Course checklists
And I press the browser back button And I press the browser back button
Then I am brought back to the course outline in the correct state Then I am brought back to the course outline in the correct state
@skip-phantom
@skip-firefox
Scenario: A task can link to a location outside Studio Scenario: A task can link to a location outside Studio
Given I have opened Checklists Given I have opened Checklists
When I select a link to help page When I select a link to help page
Then I am brought to the help page in a new window Then I am brought to the help page in a new window
...@@ -89,8 +89,6 @@ def i_am_brought_to_help_page_in_new_window(step): ...@@ -89,8 +89,6 @@ def i_am_brought_to_help_page_in_new_window(step):
assert_equal('http://help.edge.edx.org/', world.browser.url) assert_equal('http://help.edge.edx.org/', world.browser.url)
############### HELPER METHODS #################### ############### HELPER METHODS ####################
def verifyChecklist2Status(completed, total, percentage): def verifyChecklist2Status(completed, total, percentage):
def verify_count(driver): def verify_count(driver):
...@@ -107,9 +105,11 @@ def verifyChecklist2Status(completed, total, percentage): ...@@ -107,9 +105,11 @@ def verifyChecklist2Status(completed, total, percentage):
def toggleTask(checklist, task): def toggleTask(checklist, task):
world.css_click('#course-checklist' + str(checklist) +'-task' + str(task)) world.css_click('#course-checklist' + str(checklist) + '-task' + str(task))
# TODO: figure out a way to do this in phantom and firefox
# For now we will mark the scenerios that use this method as skipped
def clickActionLink(checklist, task, actionText): def clickActionLink(checklist, task, actionText):
# toggle checklist item to make sure that the link button is showing # toggle checklist item to make sure that the link button is showing
toggleTask(checklist, task) toggleTask(checklist, task)
...@@ -121,4 +121,3 @@ def clickActionLink(checklist, task, actionText): ...@@ -121,4 +121,3 @@ def clickActionLink(checklist, task, actionText):
world.wait_for(verify_action_link_text) world.wait_for(verify_action_link_text)
action_link.click() action_link.click()
...@@ -132,6 +132,8 @@ def i_am_logged_in(step): ...@@ -132,6 +132,8 @@ def i_am_logged_in(step):
world.create_user('robot') world.create_user('robot')
world.log_in('robot', 'test') world.log_in('robot', 'test')
world.browser.visit(django_url('/')) world.browser.visit(django_url('/'))
# You should not see the login link
assert_equals(world.browser.find_by_css('a#login'), [])
@step(u'I am an edX user$') @step(u'I am an edX user$')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment