2013-04-17 22:11:24 +02:00
When ( / ^I collapse the context container of "([^"]*)"$ / ) do | context_name |
toggle = page . find ( :xpath , toggle_context_container_xpath ( find_context ( context_name ) ) )
2012-03-12 22:52:45 +01:00
toggle . should be_visible
toggle . click
2011-09-10 00:51:39 +02:00
end
2013-03-18 13:33:30 +01:00
When ( / ^I collapse the project container of "(.*?)"$ / ) do | project_name |
2013-04-17 22:11:24 +02:00
toggle = page . find ( :xpath , toggle_project_container_xpath ( find_project ( project_name ) ) )
2013-03-18 13:33:30 +01:00
toggle . should be_visible
toggle . click
end
2011-09-10 00:51:39 +02:00
When / ^I toggle all collapsed context containers$ / do
click_link 'Toggle collapsed contexts'
end
2011-08-18 17:15:00 +02:00
####### Context #######
2013-04-17 22:11:24 +02:00
Then ( / ^I should (see|not see) the context "([^"]*)"$ / ) do | visible , context_name |
check_xpath_visibility ( visible , context_container_xpath ( find_context ( context_name ) ) )
2011-04-14 16:26:16 +02:00
end
2013-04-17 22:11:24 +02:00
Then / ^I should (see|not see) the container for context "([^"]*)"$ / do | visible , context_name |
step ( " I should #{ visible } the context \" #{ context_name } \" " )
2011-04-14 16:26:16 +02:00
end
2013-04-17 22:11:24 +02:00
Then / ^I should (see|not see) the context container for "([^"]*)"$ / do | visible , context_name |
step " I should #{ visible } the context \" #{ context_name } \" "
2011-04-14 16:26:16 +02:00
end
2013-04-17 22:11:24 +02:00
Then ( / ^the container for the context "([^"]*)" should (be|not be) visible$ / ) do | context_name , visible |
mapping = { " be " = > " see " , " not be " = > " not see " }
step " I should #{ mapping [ visible ] } the context \" #{ context_name } \" "
2011-04-14 16:26:16 +02:00
end
2013-03-18 13:33:30 +01:00
Then / ^I should (see|not see) "([^"]*)" in the context container for "([^"]*)"$ / do | visible , todo_description , context_name |
2013-04-17 22:11:24 +02:00
check_xpath_visibility ( visible , todo_in_context_container_xpath ( find_todo ( todo_description ) , find_context ( context_name ) ) )
2011-06-26 23:05:33 +02:00
end
2013-04-17 22:11:24 +02:00
Then / ^I should (see|not see) "([^"]*)" in the container for context "([^"]*)"$ / do | visible , todo_description , context_name |
step " I should #{ visible } \" #{ todo_description } \" in the context container for \" #{ context_name } \" "
2011-08-18 17:15:00 +02:00
end
2013-04-17 22:11:24 +02:00
####### Deferred #######
2012-03-23 20:39:04 +01:00
2013-04-17 22:11:24 +02:00
Then ( / ^I should (not see|see) "([^"]*)" in the deferred container$ / ) do | visible , todo_description |
check_xpath_visibility ( visible , todo_in_deferred_container_xpath ( find_todo ( todo_description ) ) )
2011-06-26 23:05:33 +02:00
end
2013-04-17 22:11:24 +02:00
Then ( / ^I should (not see|see) "([^"]*)" in the action container$ / ) do | visible , todo_description |
check_xpath_visibility ( visible , todo_in_container_xpath ( @source_view . to_s , find_todo ( todo_description ) ) )
2012-03-23 20:39:04 +01:00
end
####### Project #######
2013-04-11 10:53:35 +02:00
Then / ^I should (see|not see) "([^"]*)" in the project container of "([^"]*)"$ / do | visible , todo_description , project_name |
2013-04-17 22:11:24 +02:00
check_xpath_visibility ( visible , todo_in_project_container_xpath ( find_todo ( todo_description ) , find_project ( project_name ) ) )
end
2011-08-11 17:13:01 +02:00
2013-04-17 22:11:24 +02:00
Then ( / ^I should (see|not see) "(.*?)" in the container for project "(.*?)"$ / ) do | visible , todo_description , project_name |
step " I should #{ visible } \" #{ todo_description } \" in the project container of \" #{ project_name } \" "
end
2011-08-11 17:13:01 +02:00
2013-04-17 22:11:24 +02:00
Then ( / ^I should (see|not see) "(.*?)" in the project container for "(.*?)"$ / ) do | visible , todo_description , project_name |
step " I should #{ visible } \" #{ todo_description } \" in the project container of \" #{ project_name } \" "
2011-08-11 17:13:01 +02:00
end
2013-04-11 10:53:35 +02:00
Then ( / ^I should (see|not see) the project container for "([^"]*)"$ / ) do | visible , project_name |
2013-04-17 22:11:24 +02:00
check_xpath_visibility ( visible , project_container_xpath ( find_project ( project_name ) ) )
end
2011-08-18 17:15:00 +02:00
2013-04-17 22:11:24 +02:00
Then ( / ^I should (see|not see) the container for project "(.*?)"$ / ) do | visible , project_name |
step " I should #{ visible } the project container for \" #{ project_name } \" "
2013-03-18 13:33:30 +01:00
end
2013-04-11 10:53:35 +02:00
Then ( / ^the container for the project "(.*?)" should (be visible|not be visible)$ / ) do | project_name , visible |
map = { " be visible " = > " see " , " not be visible " = > " not see " }
step ( " I should #{ map [ visible ] } the project container for \" #{ project_name } \" " )
2013-03-18 13:33:30 +01:00
end
2011-08-18 17:15:00 +02:00
####### Completed #######
2011-08-11 17:13:01 +02:00
2013-04-17 22:11:24 +02:00
Then ( / ^I should (not see|see) "([^"]*)" in the (completed|done today|done this week|done this month) container$ / ) do | visible , todo_description , container |
2013-03-18 12:24:42 +01:00
id = 'completed_container' if container == 'completed'
id = 'completed_today_container' if container == 'done today'
id = 'completed_rest_of_week_container' if container == 'done this week'
id = 'completed_rest_of_month_container' if container == 'done this month'
2011-06-26 23:05:33 +02:00
2013-04-17 22:11:24 +02:00
xpath = " //div[@id=' #{ id } ']//div[@id='line_todo_ #{ find_todo ( todo_description ) . id } '] "
check_xpath_visibility ( visible , xpath )
2011-06-26 23:05:33 +02:00
end
2011-08-18 17:15:00 +02:00
####### Hidden #######
2013-04-17 22:11:24 +02:00
Then / ^I should (not see|see) "([^"]*)" in the hidden container$ / do | visible , todo_description |
xpath = " //div[@id='hidden_container']//div[@id='line_todo_ #{ find_todo ( todo_description ) . id } '] "
check_xpath_visibility ( visible , xpath )
2011-08-15 20:44:59 +02:00
end
2011-08-18 17:15:00 +02:00
####### Calendar #######
2011-06-26 23:05:33 +02:00
Then / ^I should see "([^"]*)" in the due next month container$ / do | todo_description |
2013-04-16 10:20:44 +02:00
within " div # due_after_this_month_container " do
2013-04-17 22:11:24 +02:00
page . should have_css ( " div # line_todo_ #{ find_todo ( todo_description ) . id } " )
2011-06-26 23:05:33 +02:00
end
end
2011-08-18 17:15:00 +02:00
####### Repeat patterns #######
2011-06-21 11:03:23 +02:00
2012-03-19 14:05:54 +01:00
Then / ^I should (see|not see) "([^"]*)" in the active recurring todos container$ / do | visibility , repeat_pattern |
2013-02-27 20:02:01 +01:00
repeat = @current_user . recurring_todos . where ( :description = > repeat_pattern ) . first
2011-08-11 17:13:01 +02:00
2011-06-26 23:05:33 +02:00
unless repeat . nil?
xpath = " //div[@id='active_recurring_todos_container']//div[@id='recurring_todo_ #{ repeat . id } '] "
2013-04-17 22:11:24 +02:00
check_xpath_visibility ( visibility , xpath )
2011-06-26 23:05:33 +02:00
else
2012-03-19 14:05:54 +01:00
step " I should #{ visibility } \" #{ repeat_pattern } \" "
2011-06-26 23:05:33 +02:00
end
2011-06-21 11:03:23 +02:00
end
2013-04-17 22:11:24 +02:00
Then / ^I should (see|not see) "([^"]*)" in the completed recurring todos container$ / do | visible , repeat_pattern |
2013-02-27 20:02:01 +01:00
repeat = @current_user . todos . where ( :description = > repeat_pattern ) . first
2011-06-26 23:05:33 +02:00
unless repeat . nil?
xpath = " //div[@id='completed_recurring_todos_container']//div[@id='recurring_todo_ #{ repeat . id } '] "
2013-04-17 22:11:24 +02:00
check_xpath_visibility ( visible , xpath )
2011-06-26 23:05:33 +02:00
else
2013-04-17 22:11:24 +02:00
step " I should #{ visible } \" #{ repeat_pattern } \" "
2011-06-26 23:05:33 +02:00
end
2013-03-18 12:24:42 +01:00
end
####### Empty message patterns #######
Then / ^I should (see|not see) empty message for (done today|done this week|done this month|completed todos|deferred todos|todos) (of done actions|of context|of project|of home|of tag) / do | visible , state , type |
css = " error: wrong state "
css = " div # c #{ @context . id } -empty-d " if state == " todos " && type == " of context "
css = " div # p #{ @project . id } -empty-d " if state == " todos " && type == " of project "
css = " div # no_todos_in_view " if state == " todos " && ( type == " of home " || type == " of tag " )
css = " div # completed_today_container " if state == " done today "
2013-04-17 22:11:24 +02:00
css = " div # completed_rest_of_week_container " if state == " done this week "
css = " div # completed_rest_of_month_container " if state == " done this month "
2013-03-18 12:24:42 +01:00
css = " div # completed_container-empty-d " if state == " completed todos "
css = " div # deferred_pending_container-empty-d " if state == " deferred todos "
elem = find ( css )
elem . should_not be_nil
2013-04-17 22:11:24 +02:00
check_elem_visibility ( visible , elem )
2013-02-27 20:02:01 +01:00
end