mirror of
https://github.com/TracksApp/tracks.git
synced 2026-03-10 06:32:36 +01:00
add some project grouping scenarios to edit_a_todo and fix failures
also refactor step definitions
This commit is contained in:
parent
5f8f2eefa9
commit
8641ecfc4e
16 changed files with 487 additions and 422 deletions
|
|
@ -13,6 +13,16 @@ Given /^I have a todo "([^"]*)" in context "([^"]*)" with tags "([^"]*)"$/ do |d
|
|||
@todo.save!
|
||||
end
|
||||
|
||||
Given(/^I have a todo "([^"]*)" in the context "([^"]*)" in the project "([^"]*)"$/) do |description, context_name, project_name|
|
||||
step "I have a todo \"#{description}\" in the context \"#{context_name}\""
|
||||
|
||||
@project = @current_user.projects.where(:name => project_name).first_or_create
|
||||
@project.should_not be_nil
|
||||
|
||||
@todo.project = @project
|
||||
@todo.save!
|
||||
end
|
||||
|
||||
Given /^I have a todo "([^"]*)" in the context "([^"]*)" which is due tomorrow$/ do |description, context_name|
|
||||
context = @current_user.contexts.where(:name => context_name).first_or_create
|
||||
@todo = @current_user.todos.create!(:context_id => context.id, :description => description)
|
||||
|
|
@ -21,11 +31,8 @@ Given /^I have a todo "([^"]*)" in the context "([^"]*)" which is due tomorrow$/
|
|||
end
|
||||
|
||||
Given /^I have (\d+) todos in project "([^"]*)" in context "([^"]*)" with tags "([^"]*)" prefixed by "([^"]*)"$/ do |number_of_todos, project_name, context_name, tag_names, prefix|
|
||||
@context = @current_user.contexts.where(:name => context_name).first
|
||||
@context.should_not be_nil
|
||||
|
||||
@project = @current_user.projects.where(:name => project_name).first
|
||||
@project.should_not be_nil
|
||||
@context = find_context(context_name)
|
||||
@project = find_project(project_name)
|
||||
|
||||
@todos = []
|
||||
number_of_todos.to_i.downto 1 do |i|
|
||||
|
|
@ -76,6 +83,11 @@ Given /^I have a todo with description "([^"]*)" in project "([^"]*)" with tags
|
|||
@todo.save!
|
||||
end
|
||||
|
||||
Given(/^I have a todo "(.*?)" in context "(.*?)" in project "(.*?)" with tags "(.*?)"$/) do |action_description, context_name, project_name, tags|
|
||||
step "I have a todo with description \"#{action_description}\" in project \"#{project_name}\" with tags \"#{tags}\" in the context \"#{context_name}\""
|
||||
end
|
||||
|
||||
|
||||
###### DEFERRED TODOS #######
|
||||
|
||||
Given /^I have ([0-9]+) deferred todos$/ do |count|
|
||||
|
|
@ -107,11 +119,8 @@ end
|
|||
####### COMPLETED TODOS #######
|
||||
|
||||
Given /^I have ([0-9]+) completed todos in project "([^"]*)" in context "([^"]*)"$/ do |count, project_name, context_name|
|
||||
@context = @current_user.contexts.where(:name => context_name).first
|
||||
@context.should_not be_nil
|
||||
|
||||
@project = @current_user.projects.where(:name => project_name).first
|
||||
@project.should_not be_nil
|
||||
@context = find_context(context_name)
|
||||
@project = find_project(project_name)
|
||||
|
||||
@todos = []
|
||||
count.to_i.downto 1 do |i|
|
||||
|
|
@ -132,9 +141,8 @@ Given /^I have (\d+) completed todos in project "([^"]*)" in context "([^"]*)" w
|
|||
@todos.each { |t| t.tag_with(tags); t.save! }
|
||||
end
|
||||
|
||||
Given /^I have ([0-9]+) completed todos in context "([^"]*)"$/ do |count, context_name|
|
||||
context = @current_user.contexts.where(:name => context_name).first
|
||||
context.should_not be_nil
|
||||
Given(/^I have ([0-9]+) completed todos in context "([^"]*)"$/) do |count, context_name|
|
||||
find_context(context_name)
|
||||
|
||||
count.to_i.downto 1 do |i|
|
||||
todo = @current_user.todos.create!(:context_id => context.id, :description => "todo #{i}")
|
||||
|
|
@ -170,27 +178,21 @@ Given(/^I have a completed todo with description "([^"]*)" in context "(.*?)" co
|
|||
@todo.reload
|
||||
end
|
||||
|
||||
|
||||
####### PROJECT WITH TODOS ######
|
||||
|
||||
Given /^I have a project "([^"]*)" that has the following (todos|deferred todos)$/ do |project_name, kind_of_todo, todos|
|
||||
step "I have a project called \"#{project_name}\""
|
||||
@project.should_not be_nil
|
||||
|
||||
todos.hashes.each do |todo|
|
||||
context = @current_user.contexts.where(:name => todo[:context]).first
|
||||
context.should_not be_nil
|
||||
new_todo = @current_user.todos.create!(
|
||||
:description => todo[:description],
|
||||
:context_id => context.id,
|
||||
:project_id=>@project.id,
|
||||
:notes => todo[:notes])
|
||||
:context_id => find_context(todo[:context]).id,
|
||||
:project_id => @project.id,
|
||||
:notes => todo[:notes])
|
||||
new_todo.show_from = Time.zone.now+1.week if kind_of_todo=="deferred todos"
|
||||
unless todo[:tags].nil?
|
||||
new_todo.tag_with(todo[:tags])
|
||||
end
|
||||
unless todo[:completed].nil?
|
||||
new_todo.complete! if todo[:completed] == 'yes'
|
||||
end
|
||||
new_todo.tag_with(todo[:tags]) unless todo[:tags].nil?
|
||||
new_todo.complete! if !todo[:completed].nil? && todo[:completed] == 'yes'
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -221,19 +223,15 @@ When(/^I submit a new action with description "([^"]*)" to project "([^"]*)" wit
|
|||
end
|
||||
|
||||
When /^I submit a new action with description "([^"]*)" with a dependency on "([^"]*)"$/ do |todo_description, predecessor_description|
|
||||
predecessor = @current_user.todos.where(:description => predecessor_description).first
|
||||
predecessor.should_not be_nil
|
||||
predecessor = find_todo(predecessor_description)
|
||||
|
||||
within "form#todo-form-new-action" do
|
||||
fill_in "todo[description]", :with => todo_description
|
||||
fill_in "predecessor_input", :with => predecessor_description
|
||||
end
|
||||
|
||||
# wait for auto complete
|
||||
page.should have_css("a.ui-state-focus", :visible => true)
|
||||
|
||||
# click first line
|
||||
page.find(:css, "ul li a.ui-state-focus").click
|
||||
wait_for_auto_complete
|
||||
click_first_line_of_auto_complete
|
||||
|
||||
new_dependency_line = "//li[@id='pred_#{predecessor.id}']"
|
||||
page.should have_xpath(new_dependency_line, :visible => true)
|
||||
|
|
@ -285,7 +283,7 @@ end
|
|||
|
||||
####### submitting using sidebar form: DEFERRED #######
|
||||
|
||||
When /^I submit a new deferred action with description "([^"]*)"$/ do |description|
|
||||
When(/^I submit a new deferred action with description "([^"]*)"$/) do |description|
|
||||
fill_in "todo[description]", :with => description
|
||||
fill_in "todo[show_from]", :with => format_date(@current_user.time + 1.week)
|
||||
submit_next_action_form
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue