Is there a way in factory_girl to get attributes_for and create for the same instance element?
Asked Answered
F

3

7

If I want to create and instance using "create" build strategy and then want to use "attributes_for" build strategy for verification, is it possible to do? And if I use sequences in the factory? Is it possible in Machinist gem?

Frederickfredericka answered 30/11, 2010 at 19:52 Comment(0)
P
13

Not quite sure I fully understand. And I'm not a user of machinist. But it sounds like you just want to do something like this.

@attributes = FactoryGirl.attributes_for(:my_object)
my_object = MyObject.create(@attributes)
my_object.some_property.should == @attributes[:some_property]
Putrescible answered 6/3, 2011 at 3:4 Comment(0)
B
2

The solution John Hinnegan suggest is sound, but you better use the FactoryGirl.create method for object initialization, because it will usually give you a valid Object. For example a after(:create) won't be called if you use MyObject.new.

@attributes = FactoryGirl.attributes_for(:my_object)
my_object = FactoryGirl.create(:my_object, @attributes)
expect(my_object.some_property).to eq @attributes[:some_property]
Biscuit answered 7/2, 2015 at 14:20 Comment(0)
P
1

Thanks for this post, just wanted to add that the class is FactoryGirl

@user_attributes = FactoryGirl.attributes_for(:super_user)
Prepotency answered 13/3, 2013 at 17:40 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.