Skip to content

Commit fe57252

Browse files
Allow at least once is sufficient.
1 parent 11e33ca commit fe57252

File tree

3 files changed

+21
-2
lines changed

3 files changed

+21
-2
lines changed

lib/sus/receive.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,9 +177,9 @@ def call(assertions, subject)
177177
end
178178

179179
class Times
180-
ONCE = Be.new(:==, 1)
180+
AT_LEAST_ONCE = Be.new(:>=, 1)
181181

182-
def initialize(condition = ONCE)
182+
def initialize(condition = AT_LEAST_ONCE)
183183
@condition = condition
184184
end
185185

releases.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Releases
22

3+
## Unreleased
4+
5+
- Allow `expect(...).to receive(...)` to accept one or more calls (at least once).
6+
37
## v0.33.0
48

59
- Add support for `agent-context` gem.

test/sus/receive.rb

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,4 +77,19 @@ def implementation(*arguments, **options)
7777

7878
interface.implementation(x: 1, y: 2)
7979
end
80+
81+
describe Sus::Receive::Times do
82+
it "expects at least one call by default" do
83+
expect(interface).to receive(:implementation)
84+
85+
interface.implementation
86+
end
87+
88+
it "allows multiple calls by default" do
89+
expect(interface).to receive(:implementation)
90+
91+
interface.implementation
92+
interface.implementation
93+
end
94+
end
8095
end

0 commit comments

Comments
 (0)