私は Rspec でいくつかのテストを書いており、関連付けを介して acarrier
にプッシュしようとしています。以下は私が書いたテストですが、矢印で示した行は合格していないようです。ユーザーではなくキャリアを嘲笑したことに気付きました。これが HABTM 関連付けに問題を引き起こしているのではないかと考えています。これは問題ですか、それとも他に何か不足していますか? 私は嘲笑とスタブに慣れていませんが、最善を尽くしています!user
has_and_belongs_to_many
describe UsersController do
describe 'get #add_carrier' do
let(:user) { build(:approved_user) }
let(:carrier) { mock_model(Carrier).as_null_object }
before{ Carrier.stub(:find).and_return(carrier) }
it 'associates the Carrier to the User' do
expect(user.carriers).to eq []
user.should_receive(:carriers).and_return([])
--> (user.carriers).should_receive(:push).with(carrier).and_return([carrier])
(user.carriers).push(carrier)
(user.carriers).should include carrier
end
end
end