enter code here
Я вызываю службу, которая требует аутентификации, для этого я использовал черту без промежуточного программного обеспечения,
$user = new User([
'id' => 1,
'eos_id' => '832355',
'user_name' => 'yish',
'email_id' => 'test@test.com'
]);
$this->actingAs($user, 'api');
после этого, когда я проверяю как auth ('api') -> check () это всегда возвращает false.
EDIT
Метод COntroller, который я хочу протестировать
public function destroy($id)
{
try {
$deleted = $this->wareHouseService->deleteWareHouse($id, auth('api')->user()->getAuthIdentifier());
} catch (\Exception $e) {
$errors = [$e->getMessage()];
if ($e instanceof ValidationException) {
$errors = Arr::first(array_values($e->errors()));
}
return (new ErrorResource(collect($errors)))
->response()
->setStatusCode(422);
}
}
Метод тестирования
public function test_destroy_warehoue () {
$user = new User([
'id' => 1,
'whr_id' => '832355',
'user_name' => 'yish',
'email_id' => 'test@test.com'
]);
$this->actingAs($user, 'api');
$this->mockWareHouseService->shouldReceive('destroy')
->with(619, auth('api')->user()->getAuthIdentifier())
->andReturn(true);
$actualData = $this->mockWareHouseController->destroy(619);
}
Здесь auth ('api' ) -> user () -> getAuthIdentifier () всегда возвращает значение null.