Sha256: b487756b6bd427dd91d960e283cecf20f4e1c46537dc624fbb6878541a0d0a4c

Contents?: true

Size: 673 Bytes

Versions: 1

Compression:

Stored size: 673 Bytes

Contents

# encoding: utf-8
require "rspec"

module Attestor

  # Helpers for validations
  module RSpec
    include ::RSpec::Mocks::ExampleMethods

    # Mocks a valid object
    def valid_spy
      object = spy
      allow(object).to receive(:validate!)
      allow(object).to receive(:validate) { Report.new(object) }

      object
    end

    # Mocks an invalid object
    def invalid_spy(messages = "invalid")
      object = spy
      error  = InvalidError.new(object, messages)
      allow(object).to receive(:validate!) { fail error }
      allow(object).to receive(:validate)  { Report.new(object, error) }

      object
    end

  end # module RSpec

end # module Attestor

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
attestor-2.1.0 lib/attestor/rspec.rb