38
spec/system/export_spec.rb
Normal file
38
spec/system/export_spec.rb
Normal file
@@ -0,0 +1,38 @@
|
||||
require 'rails_helper'
|
||||
|
||||
RSpec.describe "Exports", type: :system do
|
||||
let!(:user) { create(:user) }
|
||||
|
||||
before do
|
||||
driven_by :selenium_chrome_with_download_headless
|
||||
end
|
||||
|
||||
after do
|
||||
clear_downloads
|
||||
end
|
||||
|
||||
context "when in a contest with at least one contestant" do
|
||||
let!(:contest) { create(:contest, user: user) }
|
||||
let!(:first_contestant) { create(:contestant, contest: contest) }
|
||||
let!(:second_contestant) { create(:contestant, contest: contest) }
|
||||
|
||||
it "should be possible to export the list of contestants", :with_downloads do
|
||||
login(user)
|
||||
|
||||
sleep 0.5
|
||||
|
||||
visit contest_contestants_path(contest)
|
||||
|
||||
click_link I18n.t("helpers.buttons.export")
|
||||
|
||||
wait_for_download
|
||||
|
||||
expect(downloads.length).to eq(1)
|
||||
expect(last_download).to include("#{contest.friendly_id}_results.csv")
|
||||
|
||||
results_csv = File.read(last_download)
|
||||
expect(results_csv).to include(first_contestant.name)
|
||||
expect(results_csv).to include(second_contestant.name)
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user