master
1require "rails_helper"
2
3describe BackupFile do
4 let(:user) { build(:user) }
5
6 def fixture_file(name)
7 Rack::Test::UploadedFile.new(Rails.root.join("spec", "fixtures", name))
8 end
9
10 describe "#valid?" do
11 it "returns true for csv exports" do
12 csv_export = fixture_file("spreadsheet-stronglifts.csv")
13 subject = BackupFile.new(user, csv_export)
14 expect(subject).to be_valid
15 end
16
17 it "returns false" do
18 subject = BackupFile.new(user, fixture_file("unknown.file"))
19 expect(subject).to_not be_valid
20 end
21 end
22
23 describe "#process_later" do
24 let(:program) { build(:program) }
25 let(:csv) { fixture_file("spreadsheet-stronglifts.csv") }
26
27 it "creates a job to process later" do
28 allow(UploadStrongliftsBackupJob).to receive(:perform_later)
29 subject = BackupFile.new(user, csv)
30 subject.process_later(program)
31 expect(UploadStrongliftsBackupJob).to have_received(:perform_later)
32 end
33 end
34end