dummy/features/step_definitions/project_steps.rb
module ProjectFactoryMethods
def set_project_defaults(attributes)
attributes[:user_id] ||= @me.id if @me && !attributes[:user_id]
attributes[:product_id] ||= @product.id if @product && !attributes[:product_id]
attributes[:area_ids] ||= [Area.last.id] if Area.any? && !attributes[:area_ids]
end
end
World(ProjectFactoryMethods)
Given /^a project named "([^\"]*)"$/ do |name|
attributes = {name: name}
set_project_defaults(attributes)
@project = Factory(:project, attributes)
@project.reload
end
Then /^I should see the following projects:$/ do |expected_table|
rows = find('table').all('tr')
table = rows.map { |r| r.all('th,td').map { |c| c.text.strip } }
expected_table.diff!(table)
end