features/step_definitions/format_steps.rb in activeadmin-0.6.0 vs features/step_definitions/format_steps.rb in activeadmin-0.6.1
- old
+ new
@@ -8,34 +8,31 @@
Then "I should see nicely formatted datetimes" do
page.body.should =~ /\w+ \d{1,2}, \d{4} \d{2}:\d{2}/
end
-Then /^I should see a link to download "([^"]*)"$/ do |format_type|
- page.should have_css("#index_footer a", :text => format_type)
+Then /^I should( not)? see a link to download "([^"]*)"$/ do |negate, format|
+ method = negate ? :should_not : :should
+ page.send method, have_css("#index_footer a", :text => format)
end
-Then /^I should not see a link to download "([^"]*)"$/ do |format_type|
- page.should_not have_css("#index_footer a", :text => format_type)
-end
-
# Check first rows of the displayed CSV.
Then /^I should download a CSV file with "([^"]*)" separator for "([^"]*)" containing:$/ do |sep, resource_name, table|
- page.response_headers['Content-Type'].should == 'text/csv; charset=utf-8'
- csv_filename = "#{resource_name}-#{Time.now.strftime("%Y-%m-%d")}.csv"
- page.response_headers['Content-Disposition'].should == %{attachment; filename="#{csv_filename}"}
- body = page.driver.response.body
+ body = page.driver.response.body
+ headers = page.response_headers
+ headers['Content-Type'].should eq 'text/csv; charset=utf-8'
+ headers['Content-Disposition'].should eq %{attachment; filename="#{resource_name}-#{Time.now.strftime("%Y-%m-%d")}.csv"}
begin
csv = CSVLib.parse(body, :col_sep => sep)
table.raw.each_with_index do |expected_row, row_index|
expected_row.each_with_index do |expected_cell, col_index|
cell = csv.try(:[], row_index).try(:[], col_index)
if expected_cell.blank?
cell.should be_nil
else
- (cell || '').should match(/#{expected_cell}/)
+ (cell || '').should match /#{expected_cell}/
end
end
end
rescue
puts "Expecting:"
@@ -45,12 +42,11 @@
raise $!
end
end
Then /^I should download a CSV file for "([^"]*)" containing:$/ do |resource_name, table|
- step "I should download a CSV file with \",\" separator for \"#{resource_name}\" containing:", table
+ step %{I should download a CSV file with "," separator for "#{resource_name}" containing:}, table
end
Then /^the CSV file should contain "([^"]*)" in quotes$/ do |text|
- body = page.driver.response.body
- body.should match(/\"#{text}\"/)
+ page.driver.response.body.should match /"#{text}"/
end