Я пытаюсь создать соответствие для хэша, определенного в user_record.Я попытался создать matcher.matches (), как я это делал в be_a_boolean, но он только возвращает объект.be_a_boolean не является определенным объектом, поэтому в настоящее время он не работает.
def user_record
{
email_address: email_address_value,
date_of_birth: date_value,
active: boolean_value
}
end
def users(count)
Array.new(count) { user_record }
end
end
RSpec.describe DataGenerator do
def match_the_shape_of_a_user_record
# Use `be_a_boolean`, `be_a_date_before_2000` and `be_an_email_address`
# in the hash passed to `match` below to define this matcher.
match(a_hash_including(
an_object_having_attributes(:active => be_a_boolean_value),
# :date_of_birth => be_a_date_before_2000,
#:email_address => be_an_email_address
))
end
it "generates user records" do
user = DataGenerator.new.user_record
expect(user).to match_the_shape_of_a_user_record
end
def all_match_the_shape_of_a_user_record
# Combine the `all` matcher and `match_the_shape_of_a_user_record` here.
end
it "generates a list of user records" do
users = DataGenerator.new.users(4)
expect(users.to all_match_the_shape_of_a_user_record)
end
end