2010-03-02 11:14:45 +01:00
|
|
|
Given /^I have a project "([^\"]*)" with (.*) todos$/ do |project_name, num_todos|
|
|
|
|
|
context = @current_user.contexts.create!(:name => "Context A")
|
|
|
|
|
project = @current_user.projects.create!(:name => project_name)
|
|
|
|
|
1.upto num_todos.to_i do |i|
|
|
|
|
|
@current_user.todos.create!(
|
|
|
|
|
:project_id => project.id,
|
|
|
|
|
:context_id => context.id,
|
|
|
|
|
:description => "Todo #{i}")
|
|
|
|
|
end
|
2010-02-12 12:35:19 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
Given /^there exists a project "([^\"]*)" for user "([^\"]*)"$/ do |project_name, user_name|
|
|
|
|
|
user = User.find_by_login(user_name)
|
|
|
|
|
user.should_not be_nil
|
2010-08-12 14:39:58 +02:00
|
|
|
@project = user.projects.create!(:name => project_name)
|
2010-02-12 12:35:19 +01:00
|
|
|
end
|
|
|
|
|
|
2010-07-30 21:06:12 +02:00
|
|
|
Given /^there exists a project called "([^"]*)" for user "([^"]*)"$/ do |project_name, login|
|
|
|
|
|
# TODO: regexp change to integrate this with the previous since only 'called' is different
|
|
|
|
|
Given "there exists a project \"#{project_name}\" for user \"#{login}\""
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
Given /^I have a project called "([^"]*)"$/ do |project_name|
|
|
|
|
|
Given "there exists a project \"#{project_name}\" for user \"#{@current_user.login}\""
|
|
|
|
|
end
|
|
|
|
|
|
2010-03-02 11:14:45 +01:00
|
|
|
When /^I visit the "([^\"]*)" project$/ do |project_name|
|
|
|
|
|
@project = Project.find_by_name(project_name)
|
|
|
|
|
@project.should_not be_nil
|
|
|
|
|
visit project_path(@project)
|
|
|
|
|
end
|
|
|
|
|
|
2010-07-14 15:13:20 +02:00
|
|
|
When /^I visit the project page for "([^"]*)"$/ do |project_name|
|
|
|
|
|
When "I visit the \"#{project_name}\" project"
|
|
|
|
|
end
|
|
|
|
|
|
2010-02-12 12:35:19 +01:00
|
|
|
When /^I edit the project description to "([^\"]*)"$/ do |new_description|
|
|
|
|
|
click_link "link_edit_project_#{@project.id}"
|
2010-03-24 20:45:59 +01:00
|
|
|
fill_in "project[description]", :with => new_description
|
2010-02-12 12:35:19 +01:00
|
|
|
click_button "submit_project_#{@project.id}"
|
2009-08-05 16:28:06 +02:00
|
|
|
end
|
2010-03-24 20:45:59 +01:00
|
|
|
|
2010-07-05 08:24:58 -07:00
|
|
|
When /^I edit the project name to "([^\"]*)"$/ do |new_title|
|
|
|
|
|
click_link "link_edit_project_#{@project.id}"
|
|
|
|
|
fill_in "project[name]", :with => new_title
|
2010-08-03 20:55:07 +02:00
|
|
|
|
|
|
|
|
# changed to make sure selenium waits until the saving has a result either
|
|
|
|
|
# positive or negative. Was: :element=>"flash", :text=>"Project saved"
|
|
|
|
|
# we may need to change it back if you really need a positive outcome, i.e.
|
|
|
|
|
# this step needs to fail if the project was not saved succesfully
|
2010-07-05 09:58:25 -07:00
|
|
|
selenium.click "submit_project_#{@project.id}",
|
|
|
|
|
:wait_for => :text,
|
2010-08-03 20:55:07 +02:00
|
|
|
:text => /(Project saved|1 error prohibited this project from being saved)/
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
When /^I edit the project name of "([^"]*)" to "([^"]*)"$/ do |project_current_name, project_new_name|
|
|
|
|
|
@project = @current_user.projects.find_by_name(project_current_name)
|
|
|
|
|
@project.should_not be_nil
|
|
|
|
|
When "I edit the project name to \"#{project_new_name}\""
|
2010-07-05 08:24:58 -07:00
|
|
|
end
|
|
|
|
|
|
2010-03-24 20:45:59 +01:00
|
|
|
Then /^I should see the bold text "([^\"]*)" in the project description$/ do |bold|
|
|
|
|
|
xpath="//div[@class='project_description']/p/strong"
|
|
|
|
|
|
|
|
|
|
response.should have_xpath(xpath)
|
|
|
|
|
bold_text = response.selenium.get_text("xpath=#{xpath}")
|
|
|
|
|
|
|
|
|
|
bold_text.should =~ /#{bold}/
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
Then /^I should see the italic text "([^\"]*)" in the project description$/ do |italic|
|
|
|
|
|
xpath="//div[@class='project_description']/p/em"
|
|
|
|
|
|
|
|
|
|
response.should have_xpath(xpath)
|
|
|
|
|
italic_text = response.selenium.get_text("xpath=#{xpath}")
|
|
|
|
|
|
|
|
|
|
italic_text.should =~ /#{italic}/
|
2010-04-10 15:23:38 -04:00
|
|
|
end
|
2010-07-05 08:24:58 -07:00
|
|
|
|
|
|
|
|
Then /^the project title should be "(.*)"$/ do |title|
|
|
|
|
|
selenium.get_text("css=h2#project_name").should == title
|
2010-08-03 20:55:07 +02:00
|
|
|
end
|