Sha256: b08220b4ee7bc8621765cccbb0cc201cfebf2b9e24e495479a5b74315bebf0da
Contents?: true
Size: 1.62 KB
Versions: 1
Compression:
Stored size: 1.62 KB
Contents
require 'spec_helper' def fixture_file_upload(path, mime_type) Rack::Test::UploadedFile.new(Pathname.new(file_fixture_path).join(path), mime_type, false) end describe Rapidfire::Questions::File do describe "Validations" do it { is_expected.to validate_presence_of(:survey) } it { is_expected.to validate_presence_of(:question_text) } end describe "Associations" do it { is_expected.to belong_to(:survey) } end if "#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}" >= "5.2" describe "validate_answer" do let(:question) { FactoryBot.create(:q_file, validation_rules: validation_rules) } let(:answer) { FactoryBot.build(:answer, question: question, file: file) } before { answer.valid? } context "when there are no validation rules" do let(:validation_rules) { {} } let(:file) { nil } it "answer should pass validations" do expect(answer.errors).to be_empty end end context "when question needs a file attachment" do let(:validation_rules) { { presence: "1" } } context "when answer is empty" do let(:file) { nil } it "fails validations" do expect(answer.errors).not_to be_empty end it "says answer should be present" do expect(answer.errors[:file]).to include("can't be blank") end end context "when answer is not empty" do let(:file) { fixture_file_upload("one.txt", "text/plain") } it "passes validations" do expect(answer.errors).to be_empty end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rapidfire-8.0.0 | spec/models/rapidfire/questions/file_spec.rb |