Assuming assembly is a method, you only need a test to ensure that the assembly is called. You can do this by replacing a new one with a Businesslayout that has an attribute addressesthat it expects to receive :build.
I have not tested this, but I suspect you could do something like:
business = double('business')
addresses = double('addresses')
business.should_receive(:addresses).and_return(addresses)
addresses.should_receive(:build)
Business.stub(:new).and_return(business)
source
share