我在我的应用程序中使用ember-simple-auth。对于我的测试,我将 QUnit 与jquery-mockjax一起使用。但我没有得到我的测试,,login with correct credentials
来处理一个嘲弄的反应。如果我没有模拟,下面的测试有效。模拟的响应看起来与服务器响应完全一样。
我的问题是,我应该如何模拟 ember-simple-auth 的响应?
test "with correct credentials", ->
expect(2)
response =
access_token : "92d50f562503e40fe783c2ebf359e0c2b37fa80758e2e3603d7e3e82a485522a"
expires_in : 7200
token_type : "bearer"
# if I remove the following line, the test works
mock_http('/oauth/token', response, 200)
visit("login")
.fillIn('#identification', 'test@test.de')
.fillIn('#password', 'tester')
.click('.btn-success').then ->
ok(find("a:contains('Logout')").length, 'logout link not visible')
ok(not find("a:contains('Login')").length, 'login link still visible')
以下测试也适用于模拟:
test "with wrong credentials", ->
expect(2)
response =
error : 'some error occured'
mock_http('/oauth/token', response, 401)
visit("login")
.fillIn('#identification', 'test')
.fillIn('#password', 'wrong')
.click('.btn-success').then ->
ok(not find("a:contains('Logout')").length, 'logout link not visible')
ok(find("a:contains('Login')").length, 'login link still visible')
编辑:
在 jsBin 之后,显示了问题:http: //jsbin.com/ASaSaRiX/6/edit