class TestBench::Fixtures::ConfigureReceiver
Attributes
cls[R]
default_attr_name[R]
Public Class Methods
build(cls, *args, attr_name:, **kwargs)
click to toggle source
# File lib/test_bench/fixtures/configure_receiver.rb, line 24 def self.build(cls, *args, attr_name:, **kwargs) new(cls, attr_name, args, kwargs) end
new(cls, default_attr_name, args=nil, kwargs=nil)
click to toggle source
# File lib/test_bench/fixtures/configure_receiver.rb, line 17 def initialize(cls, default_attr_name, args=nil, kwargs=nil) @cls = cls @default_attr_name = default_attr_name @args = args @kwargs = kwargs end
Public Instance Methods
args()
click to toggle source
# File lib/test_bench/fixtures/configure_receiver.rb, line 9 def args @args ||= [] end
call()
click to toggle source
# File lib/test_bench/fixtures/configure_receiver.rb, line 28 def call test "Responds to configure" do assert(cls.respond_to?(:configure)) end or return context do receiver = OpenStruct.new instance = configure(receiver) test "Attribute is set on receiver" do refute(receiver.public_send(default_attr_name).nil?) end test "Returns the instance that was assigned" do assert(receiver.public_send(default_attr_name).equal?(instance)) end end context "Optional Attribute Name" do context "Given" do receiver = OpenStruct.new attr_name = :given_attr_name configure(receiver, attr_name: attr_name) test "Given attribute is set on receiver (Attribute: #{attr_name})" do refute(receiver.public_send(attr_name).nil?) end test "Default attribute is not set on receiver" do assert(receiver.public_send(default_attr_name).nil?) end end context "Omitted" do receiver = OpenStruct.new configure(receiver) test "Default attribute is set on receiver (Attribute: #{default_attr_name})" do refute(receiver.public_send(default_attr_name).nil?) end end end end
configure(receiver, attr_name: nil)
click to toggle source
# File lib/test_bench/fixtures/configure_receiver.rb, line 75 def configure(receiver, attr_name: nil) cls.configure(receiver, *args, attr_name: attr_name, **kwargs) end
kwargs()
click to toggle source
# File lib/test_bench/fixtures/configure_receiver.rb, line 13 def kwargs @kwargs ||= {} end