Laravel Test api Post MethodNotAllowedHttpException - PullRequest
1 голос
/ 08 марта 2019

Здравствуйте, я использую Laravel 5.5 и имею в моем тесте

public function testCreate()
    {
        $userAdmin = factory(User::class)->create();
        $roleAdmin = Role::where('name', 'admin')->first();

        $userAdmin->roles()->attach($roleAdmin);

        $this->actingAs($userAdmin)->post('/api/object/create')
            ->assertJson(["success"=>true]);
    }

На моих маршрутах:

Route::group(['middleware' => 'auth:api'], function () {
   Route::group(['prefix'=>'object'], function(){
      Route::post('create', 'ObjectController@create')->middleware('can:create,App\Models\Object');
   });
});

Но когда я запускаю тестовый возврат:

Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException

Я уже пытался очистить свой маршрут с помощью:

php artisan route:cache

И с:

$this->actingAs($userAdmin, 'api')->post('/api/object/create')

А

$this->actingAs($userAdmin, 'api')->post('/object/create')

Моя политика, которую я использую в своем API промежуточного программного обеспечения:

public function create(User $user){
   return $user->isAdmin();
}

Но это не работает. В чем я не прав?

1 Ответ

0 голосов
/ 08 марта 2019

вам нужно авторизоваться, потому что у вас есть промежуточное ПО аутентификации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...