如果我尝试使用Laravel Nova中的无效用户登录,但我尝试编写一个简单的单元测试,但是在运行测试时却不断出现此错误:
会话缺少预期的密钥[错误]。
无法断言false为真。
我的测试:
public function an_invalid_user_can_not_login()
{
$user = factory(User::class)->create();
$response = $this->post('/nova/login', [
'email' => $user->email,
'password' => 'invalid',
'_token' => csrf_token(),
]);
$response->assertSessionHasErrors();
$this->assertGuest();
}
我在这里做什么错了?
此行失败:
$response->assertSessionHasErrors();
答案 0 :(得分:0)
改为尝试MenuSelection
。
因此,如果您要验证的密码是:var products = [
{
id: 0, name: 'Salami', price: 8, hour: null,
supp:[
{ id: 1123, name: 'fromage', price: 5, hour: null },
{ id: 11234, name: 'bbq', price: 10, hour: null },
]
},
{
id: 1, name: 'Fish', price: 10, hour: null,
supp:[
{ id: 1123, name: 'fromage', price: 5, hour: null },
{ id: 11234, name: 'bbq', price: 10, hour: null },
]
}
];
var shoppingCart = [{
id: 0,
supp: [1123],
},
{
id: 1,
supp: [1123, 11234],
}];
shoppingCart.forEach(menuSelection => {
let product = products.find(item => item.id === menuSelection.id);
let foodItem = product.name;
let ingredients = [];
menuSelection.supp.forEach(suppId => {
ingredients.push(product.supp.find(item => item.id === suppId));
});
console.log("Food Item: " + foodItem);
console.log("Ingredients: ");
ingredients.forEach(item => {
console.log(item);
});
});
答案 1 :(得分:0)
我的表单请求返回“消息”而不是“错误”。所以我使用了方法的第二个参数来传递它。
$response->assertJsonValidationErrors('field_name', 'message');