diff --git a/CHANGELOG.md b/CHANGELOG.md index 129c8f1..28968d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Better handling of the `be(nil)` when used with value types. [#37](https://github.com/icy-arctic-fox/spectator/issues/37) - Fix missing arguments for stubbed top-level methods (`system`, `exit`, etc.). [#36](https://github.com/icy-arctic-fox/spectator/issues/36) - Fix outdated naming when using `expect_any_instance_of`. +- Fix adding stubs to class methods on mocked types. ### Changed - Elegantly handle missing/undefined methods with `have_attributes` matcher. diff --git a/src/spectator/mocks/registry.cr b/src/spectator/mocks/registry.cr index c7b9a81..41419e2 100644 --- a/src/spectator/mocks/registry.cr +++ b/src/spectator/mocks/registry.cr @@ -21,6 +21,10 @@ module Spectator::Mocks fetch_instance(object).stubs.unshift(stub) end + def add_stub(type : T.class, stub : MethodStub) : Nil forall T + add_type_stub(type, stub) + end + def add_type_stub(type, stub : MethodStub) : Nil fetch_type(type).stubs.unshift(stub) end