testing - How do I test a relationship in Rails using Factory Girl that doesn't hit the database? -


the problem

i want able perform following test, fails because using build event instead of create;

event_parent = build(:event_parent) event = build(:event, event_parent: event_parent)  event_parent.events.size.should == 1 

i don't want use create because a) slower , b) factory build events has associations , things don't want have worry being in test database.

what have tried

i (wrongly) assumed if created method on event_parent model returned events might @ model layer , not database layer.

i have changed build create event , works, has undesirable side effects rest of test suite.

related code

eventparent model

class eventparent < activerecord::base   has_many :events end 

event model

class event < activerecord::base   belongs_to :event_parent end 

if want spec relationships using activerecord, @ shoulda-matchers gem

describe event   let(instance) { event.new }    { expect(instance).to belong_to(:event_parent) } end  describe eventparent   let(instance) { eventparent.new }    { expect(instance).to have_many(:events) } end 

Comments

Popular posts from this blog

basic authentication with http post params android -

vb.net - Virtual Keyboard commands -

css - Firefox for ubuntu renders wrong colors -