Seems variables defined by let(){} is lazily instantiated.
This caused problems like so in specs:
let(:estimate){Fabricate.build(:shipping_estimate)}
...
ShippingEstimate.should_receive(:new).and_return(estimate)
...
# ends up calling methods on uninstantiated (nil) estimate
post :create, valid_params, valid_session
To avoid this, pre-load let variables where needed:
...
estimate
ShippingEstimate.should_receive(:new).and_return(estimate)
...