Sha256: 5def80922e6b00bdcadcdd764452eddffe45a423f9449847ad00fc8e2290f80e

Contents?: true

Size: 1.38 KB

Versions: 30

Compression:

Stored size: 1.38 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, params: {attachment: valid_attributes, back_url: "/"}
      expect(assigns(:attachment)).to be_persisted
    end

    it "should redirect to back_url" do
      post :create, params: {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, params: {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, params: {id: attachment, back_url: "/"}
      expect(response).to redirect_to("/")
    end
  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
dorsale-3.8.1 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-3.8.0 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-3.7.8 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-3.7.7 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-3.7.6 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-3.7.5 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-3.7.4 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-3.7.2 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-3.7.1 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-3.7.0 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-3.6.1 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-3.6.0 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-3.5.2 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-3.5.1 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-3.5.0 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-3.4.0 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-3.3.0 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-3.2.0 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-3.1.7 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
dorsale-3.1.6 spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb