Sha256: f473087a14b7896d14030a369b58be07e5d3988352dd8266969c89bb512c3e6b

Contents?: true

Size: 1.25 KB

Versions: 3

Compression:

Stored size: 1.25 KB

Contents

RSpec.describe Transcript::Controller, type: :controller do
  controller ActionController::Base do
    include Transcript::Controller

    def edit
      @user = FactoryGirl.create(:user)
      @post = FactoryGirl.create(:post)
      audit_action @user, @post

      head :ok
    end

    def custom
      @user = FactoryGirl.create(:user)
      @post = FactoryGirl.create(:post)
      audit_action @user, @post, "custom"

      head :ok
    end
  end

  it "creates an audit entry by inferring the action" do
    ActiveJob::Base.queue_adapter.enqueued_jobs.clear
    routes.draw { get "edit" => "anonymous#edit" }

    get :edit

    expect(Transcript::Job).to have_been_enqueued
                           .with do |actor, receiver, action|
      expect(actor).to be_a User
      expect(receiver).to be_a Post
      expect(action).to eq "edit"
    end
  end

  it "creates an audit entry with a given action" do
    ActiveJob::Base.queue_adapter.enqueued_jobs.clear
    routes.draw { get "custom" => "anonymous#custom" }

    get :custom

    expect(Transcript::Job).to have_been_enqueued
                           .with do |actor, receiver, action|
      expect(actor).to be_a User
      expect(receiver).to be_a Post
      expect(action).to eq "custom"
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
transcript-0.2.1 spec/transcript/controller_spec.rb
transcript-0.2.0 spec/transcript/controller_spec.rb
transcript-0.1.0 spec/transcript/controller_spec.rb