Sha256: 9565f6402f327d715283a1cc3d67b6cbdc61cf0d97d097c408ceb510e6d1b33e

Contents?: true

Size: 1.05 KB

Versions: 18

Compression:

Stored size: 1.05 KB

Contents

require "rails_helper"

RSpec.describe FileUpload, type: :model do
  subject { described_class.new }

  describe "validations" do
    before do
      subject.file.attach(io: File.open(__FILE__), filename: "file_upload_spec.rb")
    end

    %w[uploaded scan_failed scanned quarantined].each do |valid_status|
      it "allows scan_status=#{valid_status}" do
        pending "#{described_class.name} cannot be valid without a record to belong_to"
        subject.scan_status = valid_status
        expect(subject).to be_valid
      end
    end

    it "is invalid with a bad scan_status" do
      subject.scan_status = "invalid"
      expect(subject).to_not be_valid
    end
  end

  describe "#clean?" do
    it "returns true when scan_status is scanned" do
      subject.scan_status = "scanned"
      expect(subject).to be_clean
    end

    it "returns false when scan_status is not scanned" do
      subject.scan_status = "uploaded"
      expect(subject).to_not be_clean
      subject.scan_status = "quarantined"
      expect(subject).to_not be_clean
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
rails_template_18f-2.0.0 lib/generators/rails_template18f/active_storage/templates/spec/models/file_upload_spec.rb
rails_template_18f-1.3.0 lib/generators/rails_template18f/active_storage/templates/spec/models/file_upload_spec.rb
rails_template_18f-1.2.0 lib/generators/rails_template18f/active_storage/templates/spec/models/file_upload_spec.rb
rails_template_18f-1.1.0 lib/generators/rails_template18f/active_storage/templates/spec/models/file_upload_spec.rb
rails_template_18f-1.0.0 lib/generators/rails_template18f/active_storage/templates/spec/models/file_upload_spec.rb
rails_template_18f-0.8.2 lib/generators/rails_template18f/active_storage/templates/spec/models/file_upload_spec.rb
rails_template_18f-0.8.1 lib/generators/rails_template18f/active_storage/templates/spec/models/file_upload_spec.rb
rails_template_18f-0.8.0 lib/generators/rails_template18f/active_storage/templates/spec/models/file_upload_spec.rb
rails_template_18f-0.7.2 lib/generators/rails_template18f/active_storage/templates/spec/models/file_upload_spec.rb
rails_template_18f-0.7.1 lib/generators/rails_template18f/active_storage/templates/spec/models/file_upload_spec.rb
rails_template_18f-0.7.0 lib/generators/rails_template18f/active_storage/templates/spec/models/file_upload_spec.rb
rails_template_18f-0.6.0 lib/generators/rails_template18f/active_storage/templates/spec/models/file_upload_spec.rb
rails_template_18f-0.5.3 lib/generators/rails_template18f/active_storage/templates/spec/models/file_upload_spec.rb
rails_template_18f-0.5.2 lib/generators/rails_template18f/active_storage/templates/spec/models/file_upload_spec.rb
rails_template_18f-0.5.1 lib/generators/rails_template18f/active_storage/templates/spec/models/file_upload_spec.rb
rails_template_18f-0.5.0 lib/generators/rails_template18f/active_storage/templates/spec/models/file_upload_spec.rb
rails_template_18f-0.4.1 lib/generators/rails_template18f/active_storage/templates/spec/models/file_upload_spec.rb
rails_template_18f-0.4.0 lib/generators/rails_template18f/active_storage/templates/spec/models/file_upload_spec.rb