You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
2.4 KiB
56 lines
2.4 KiB
{!! $sol !!}
|
|
|
|
namespace Tests\Feature\{{class_basename($model)}};
|
|
|
|
use App\Models\{{class_basename($model)}};
|
|
use Tests\Bootstrap;
|
|
|
|
class {{class_basename($model)}}DeleteTest extends Bootstrap
|
|
{
|
|
public function test_{{lcfirst(class_basename($model))}}_delete_success()
|
|
{
|
|
$this->modelWithPolicy('{{$model->getTable()}}', ['permission:{{$model->getTable()}}.delete'])
|
|
->loginAs(['{{$model->getTable()}}.delete'])
|
|
->deleteJson(route("api.{{$model->getTable()}}.delete", ${{lcfirst(class_basename($model))}} = $this->one({{class_basename($model)}}::class)))
|
|
->assertOk();
|
|
|
|
$this->loginAsAdmin()
|
|
->getJson(route("api.{{$model->getTable()}}.show", ${{lcfirst(class_basename($model))}}))
|
|
->assertNotFound();
|
|
}
|
|
|
|
public function test_{{lcfirst(class_basename($model))}}_restore_success()
|
|
{
|
|
$this->modelWithPolicy('{{$model->getTable()}}', ['permission:{{$model->getTable()}}.restore'])
|
|
->loginAsUser(['{{$model->getTable()}}.restore'])
|
|
->deleteJson(route("api.{{$model->getTable()}}.delete", ${{lcfirst(class_basename($model))}} = $this->trashed({{class_basename($model)}}::class)))
|
|
->assertOk();
|
|
|
|
$this->loginAsAdmin()
|
|
->getJson(route("api.{{$model->getTable()}}.show", ${{lcfirst(class_basename($model))}}))
|
|
->assertOk();
|
|
}
|
|
|
|
public function test_{{lcfirst(class_basename($model))}}_delete_forbidden()
|
|
{
|
|
$this->modelWithPolicy('{{$model->getTable()}}', ['permission:{{$model->getTable()}}.delete'])
|
|
->loginAs(['wrong.permission'])
|
|
->deleteJson(route("api.{{$model->getTable()}}.delete", ${{lcfirst(class_basename($model))}} = $this->one({{class_basename($model)}}::class)))
|
|
->assertForbidden();
|
|
}
|
|
|
|
public function test_{{lcfirst(class_basename($model))}}_restore_forbidden()
|
|
{
|
|
$this->modelWithPolicy('{{$model->getTable()}}', ['permission:{{$model->getTable()}}.restore'])
|
|
->loginAs(['wrong.permission'])
|
|
->deleteJson(route("api.{{$model->getTable()}}.delete", ${{lcfirst(class_basename($model))}} = $this->trashed({{class_basename($model)}}::class)))
|
|
->assertForbidden();
|
|
}
|
|
|
|
public function test_{{lcfirst(class_basename($model))}}_delete_notFound()
|
|
{
|
|
$this->loginAsAdmin()
|
|
->deleteJson(route("api.{{$model->getTable()}}.delete", 0))
|
|
->assertNotFound();
|
|
}
|
|
}
|