add cucumber tests for switching single and multiple actions forms

This commit is contained in:
Reinier Balt 2010-07-14 15:13:20 +02:00
parent 26cd345cbe
commit c9ce82d533
7 changed files with 118 additions and 7 deletions

View file

@ -13,7 +13,7 @@ Feature: Manage contexts
@selenium
Scenario: In place edit of context name
Given I have a context called "Errands"
When I visits the context page for "Errands"
When I visit the context page for "Errands"
And I edit the context name in place to be "OutAndAbout"
Then I should see the context name is "OutAndAbout"
When I go to the contexts page

View file

@ -0,0 +1,85 @@
Feature: Add new next action from every page
In order to quickly add a new next action
As a Tracks user
I want to to be able to add one or more new next actions from every page
Background:
Given the following user record
| login | password | is_admin |
| testuser | secret | false |
And I have logged in as "testuser" with password "secret"
And I have a context called "test"
And I have a project "test" with 1 todos
@selenium
Scenario Outline: I can hide the input form for single next action on a page
When I <action> the <page>
Then the single action form should be visible
When I follow "« Hide form"
Then the single action form should not be visible
Scenarios:
| action | page |
| go to | home page |
| go to | tickler page |
| visit | project page for "test"|
| visit | context page for "test"|
| visit | tag page for "starred" |
@selenium
Scenario Outline: I can hide the input form for multiple next actions
When I <action> the <page>
Then the single action form should be visible
When I follow "Add multiple next actions"
Then the multiple action form should be visible
When I follow "« Hide form"
Then the single action form should not be visible
And the multiple action form should not be visible
Scenarios:
| action | page |
| go to | home page |
| go to | tickler page |
| visit | project page for "test"|
| visit | context page for "test"|
| visit | tag page for "starred" |
@selenium
Scenario Outline: I can hide the input form and then choose both input forms
When I <action> the <page>
Then the single action form should be visible
When I follow "« Hide form"
Then the single action form should not be visible
When I follow "Add multiple next actions"
Then the multiple action form should be visible
When I follow "« Hide form"
Then the single action form should not be visible
And the multiple action form should not be visible
Scenarios:
| action | page |
| go to | home page |
| go to | tickler page |
| visit | project page for "test"|
| visit | context page for "test"|
| visit | tag page for "starred" |
@selenium
Scenario Outline: I can switch forms for single next action to multiple next actions
When I <action> the <page>
Then the single action form should be visible
When I follow "Add multiple next actions"
Then the single action form should not be visible
And the multiple action form should be visible
When I follow "Add single next action"
Then the single action form should be visible
And the multiple action form should not be visible
Scenarios:
| action | page |
| go to | home page |
| go to | tickler page |
| visit | project page for "test"|
| visit | context page for "test"|
| visit | tag page for "starred" |

View file

@ -20,7 +20,7 @@ Given /^I have a context "([^\"]*)" with (.*) actions$/ do |context_name, number
end
end
When /^I visits the context page for "([^\"]*)"$/ do |context_name|
When /^I visit the context page for "([^\"]*)"$/ do |context_name|
context = @current_user.contexts.find_by_name(context_name)
context.should_not be_nil
visit "/contexts/#{context.id}"

View file

@ -21,6 +21,11 @@ When /^I visit the "([^\"]*)" project$/ do |project_name|
visit project_path(@project)
end
When /^I visit the project page for "([^"]*)"$/ do |project_name|
When "I visit the \"#{project_name}\" project"
end
When /^I edit the project description to "([^\"]*)"$/ do |new_description|
click_link "link_edit_project_#{@project.id}"
fill_in "project[description]", :with => new_description

View file

@ -0,0 +1,16 @@
Then /^the single action form should be visible$/ do
selenium.is_visible("todo_new_action").should == true
end
Then /^the single action form should not be visible$/ do
selenium.is_visible("todo_new_action").should == false
end
Then /^the multiple action form should be visible$/ do
selenium.is_visible("todo_multi_add").should == true
end
Then /^the multiple action form should not be visible$/ do
selenium.is_visible("todo_multi_add").should == false
end

View file

@ -0,0 +1,3 @@
When /^I visit the tag page for "([^"]*)"$/ do |tag_name|
visit "/todos/tag/#{tag_name}"
end

View file

@ -26,6 +26,8 @@ module NavigationHelpers
recurring_todos_path
when /the integrations page/
integrations_path
when /the tickler page/
tickler_path
# Add more mappings here.
# Here is an example that pulls values out of the Regexp: