Sha256: db89f11264342a0673b7cf574b3f8dd61ea89be8f552e850bdf5f4419548aaa6

Contents?: true

Size: 1.35 KB

Versions: 11

Compression:

Stored size: 1.35 KB

Contents

require "rails_helper"

describe Dorsale::Alexandrie::AttachmentsController, type: :controller do
  routes { Dorsale::Engine.routes }

  let(:uploaded_file){
    path = Rails.root.join("../../spec/files/pdf.pdf").to_s
    Rack::Test::UploadedFile.new(path, "application/pdf")
  }

  let(:valid_attributes){
    attachable = DummyModel.create!(name: "A")

    {
      :attachable_id   => attachable.id,
      :attachable_type => attachable.class.to_s,
      :file            => uploaded_file,
    }
  }

  let(:user) { create(:user) }

  before(:each) { sign_in(user) }

  describe "create" do
    it "should create attachment" do
      post :create, attachment: valid_attributes, back_url: "/"
      expect(assigns(:attachment)).to be_persisted
    end

    it "should redirect to back_url" do
      post :create, attachment: valid_attributes, back_url: "/"
      expect(response).to redirect_to("/")
    end
  end

  describe "destroy" do
    it "should delete attachment" do
      attachment = create(:alexandrie_attachment)
      expect {
        delete :destroy, id: attachment, back_url: "/"
      }.to change(::Dorsale::Alexandrie::Attachment, :count).by(-1)
    end

    it "should redirect to back_url" do
      attachment = create(:alexandrie_attachment)
      delete :destroy, id: attachment, back_url: "/"
      expect(response).to redirect_to("/")
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
dorsale-2.7.3 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-2.7.2 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-2.7.1 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-2.7.0 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-2.6.8 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-2.6.7 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-2.6.6 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-2.6.5 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-2.6.4 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-2.6.3 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-2.6.2 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb