Support mocking modules

This commit is contained in:
Michael Miller 2022-12-18 15:18:20 -07:00
parent 6255cc85c4
commit d378583054
No known key found for this signature in database
GPG key ID: 32B47AE8F388A1FF
2 changed files with 203 additions and 1 deletions

View file

@ -36,7 +36,12 @@ module Spectator
macro define_subtype(base, mocked_type, type_name, name = nil, **value_methods, &block)
{% begin %}
{% if name %}@[::Spectator::StubbedName({{name}})]{% end %}
{{base.id}} {{type_name.id}} < {{mocked_type.id}}
{% if base.id == :module.id %}
{{base.id}} {{type_name.id}}
include {{mocked_type.id}}
{% else %}
{{base.id}} {{type_name.id}} < {{mocked_type.id}}
{% end %}
include ::Spectator::Mocked
extend ::Spectator::StubbedType