Refactor null_object_spec.rb to conform to Let's Not style (#1348)

This commit is contained in:
Richie Thomas 2019-10-23 15:22:53 -07:00 committed by GitHub
parent 877646eeac
commit c62ca43d17
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 9 deletions

View File

@ -1,20 +1,22 @@
describe FactoryBot::NullObject do
let(:methods_to_respond_to) { %w[id age name admin?] }
let(:methods_to_not_respond_to) { %w[email date_of_birth title] }
subject { FactoryBot::NullObject.new(methods_to_respond_to) }
it "responds to the given methods" do
methods_to_respond_to = %w[id age name admin?]
null_object = FactoryBot::NullObject.new(methods_to_respond_to)
methods_to_respond_to.each do |method_name|
expect(subject.__send__(method_name)).to be_nil
expect(subject).to respond_to(method_name)
expect(null_object.__send__(method_name)).to be_nil
expect(null_object).to respond_to(method_name)
end
end
it "does not respond to other methods" do
methods_to_respond_to = %w[id age name admin?]
methods_to_not_respond_to = %w[email date_of_birth title]
null_object = FactoryBot::NullObject.new(methods_to_respond_to)
methods_to_not_respond_to.each do |method_name|
expect { subject.__send__(method_name) }.to raise_error(NoMethodError)
expect(subject).not_to respond_to(method_name)
expect { null_object.__send__(method_name) }.to raise_error(NoMethodError)
expect(null_object).not_to respond_to(method_name)
end
end
end