Sha256: 9f5100dfe4fa6564269eb75e6ca2329f0672445867b1703a3f5d6fe90a204b7d
Contents?: true
Size: 952 Bytes
Versions: 1
Compression:
Stored size: 952 Bytes
Contents
require_relative "fulfills_stubbing/finds_satisfaction" require_relative "fulfills_stubbing/describes_unsatisfied_stubbing" module Mocktail class FulfillsStubbing extend T::Sig def initialize @finds_satisfaction = FindsSatisfaction.new @describes_unsatisfied_stubbing = DescribesUnsatisfiedStubbing.new end def fulfill(dry_call) if (stubbing = satisfaction(dry_call)) stubbing.satisfied! stubbing.effect&.call(dry_call) else store_unsatisfying_call!(dry_call) nil end end def satisfaction(dry_call) return if Mocktail.cabinet.demonstration_in_progress? @finds_satisfaction.find(dry_call) end private def store_unsatisfying_call!(dry_call) return if Mocktail.cabinet.demonstration_in_progress? Mocktail.cabinet.store_unsatisfying_call( @describes_unsatisfied_stubbing.describe(dry_call) ) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mocktail-2.0.0 | lib/mocktail/handles_dry_call/fulfills_stubbing.rb |