From 9c161a07ffc56360093c4729c7190678b4cfd46a Mon Sep 17 00:00:00 2001 From: Michael Miller Date: Mon, 11 Nov 2019 22:17:37 -0700 Subject: [PATCH] Support for canned responses in double creation --- src/spectator/dsl/mocks.cr | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/spectator/dsl/mocks.cr b/src/spectator/dsl/mocks.cr index 19c9b21..b6c2dd2 100644 --- a/src/spectator/dsl/mocks.cr +++ b/src/spectator/dsl/mocks.cr @@ -1,9 +1,13 @@ require "../mocks" module Spectator::DSL - macro double(name, &block) + macro double(name, **stubs, &block) {% if block.is_a?(Nop) %} - Double{{name.id}}.new + Double{{name.id}}.new.tap do |%double| + {% for name, value in stubs %} + allow(%double).to receive({{name.id}}).and_return({{value}}) + {% end %} + end {% else %} class Double{{name.id}} < ::Spectator::Mocks::Double def initialize