Sha256: 33a25ec5bd5d96e30c02e3c525e21c69e248d9237685432640c03dcdeb598471

Contents?: true

Size: 1.12 KB

Versions: 12

Compression:

Stored size: 1.12 KB

Contents

require "spec_helper"

module AuditingSupportSpec
  class ExampleService < Shamu::Services::Service
    include Shamu::Auditing::Support

    public :audit_request
  end

  class Change < Shamu::Services::Request
    attribute :name, presence: true
  end
end

describe Shamu::Auditing::Support do
  hunt( :service, Shamu::Auditing::AuditingService )
  let( :example_service ) { scorpion.new AuditingSupportSpec::ExampleService }

  it "audits the request on success" do
    expect( service ).to receive( :commit )

    example_service.audit_request( { name: "Penguin" }, AuditingSupportSpec::Change ) do |request, transaction|
    end
  end

  it "skips the request on failure" do
    expect( service ).not_to receive( :commit )

    example_service.audit_request( {}, AuditingSupportSpec::Change ) do |request, transaction|
    end
  end

  it "intuits the audit type from the request class" do
    expect( service ).to receive( :commit ) do |transaction|
      expect( transaction.action ).to eq "change"
    end

    example_service.audit_request( { name: "Penguin" }, AuditingSupportSpec::Change ) do |request, transaction|
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
shamu-0.0.17 spec/lib/shamu/auditing/support_spec.rb
shamu-0.0.15 spec/lib/shamu/auditing/support_spec.rb
shamu-0.0.14 spec/lib/shamu/auditing/support_spec.rb
shamu-0.0.13 spec/lib/shamu/auditing/support_spec.rb
shamu-0.0.11 spec/lib/shamu/auditing/support_spec.rb
shamu-0.0.9 spec/lib/shamu/auditing/support_spec.rb
shamu-0.0.8 spec/lib/shamu/auditing/support_spec.rb
shamu-0.0.7 spec/lib/shamu/auditing/support_spec.rb
shamu-0.0.5 spec/lib/shamu/auditing/support_spec.rb
shamu-0.0.4 spec/lib/shamu/auditing/support_spec.rb
shamu-0.0.3 spec/lib/shamu/auditing/support_spec.rb
shamu-0.0.2 spec/lib/shamu/auditing/support_spec.rb