Module: Attestor::RSpec

Includes:
RSpec::Mocks::ExampleMethods
Defined in:
lib/attestor/rspec.rb

Overview

Helpers for validations

Instance Method Summary collapse

Instance Method Details

#invalid_spy(messages = "invalid") ⇒ RSpec::Mocks::Double

Mocks an invalid object with given error messages

Parameters:

  • messages (String, Array<String>) (defaults to: "invalid")

Returns:

  • (RSpec::Mocks::Double)


26
27
28
29
30
31
32
33
# File 'lib/attestor/rspec.rb', line 26

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

#valid_spyRSpec::Mocks::Double

Mocks a valid object

Returns:

  • (RSpec::Mocks::Double)


13
14
15
16
17
18
19
# File 'lib/attestor/rspec.rb', line 13

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

  object
end