ユーザー破棄コールバックがユーザーコントローラーのエラーを受け取ったときに何が起こるかをテストしようとしています。destroy がエラーを受け取ると、次のことを行います。
flash('error', 'Can not destroy user');
redirect(path_to.users);
これまでのテストは次のとおりです。
it('should fail on DELETE /users/:id if destroy receives an error', function (done) {
var User = app.models.User;
var user = new UserStub();
User.find = sinon.spy(function (id, callback) {
callback(null, user);
});
user.destroy = sinon.spy(function (callback) {
callback(new Error());
});
request(app)
.del('/users/55')
.end(function (err, res) {
res.header.location.should.include('/users');
app.didFlash('error').should.be.true;
done();
});
});
この質問を見たことがありますが、そのres.header..
部分は期待どおりに機能します。ただし、そのリダイレクト後に発生するフラッシュをテストする方法については、まだ混乱しています。