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.
57 lines
2.2 KiB
57 lines
2.2 KiB
{!! $sol !!}
|
|
|
|
namespace Tests\Feature\{{class_basename($model)}};
|
|
|
|
use App\Models\{{class_basename($model)}};
|
|
use Tests\Bootstrap;
|
|
use App\Models\User;
|
|
use Illuminate\Support\Arr;
|
|
|
|
|
|
class {{class_basename($model)}}UpdateTest extends Bootstrap
|
|
{
|
|
public function test_{{lcfirst(class_basename($model))}}_update_success()
|
|
{
|
|
$this->modelWithPolicy('{{$model->getTable()}}', ['permission:{{$model->getTable()}}.update'])
|
|
->loginAs(['{{$model->getTable()}}.update'])
|
|
->putJson(
|
|
route("api.{{$model->getTable()}}.update", ${{lcfirst(class_basename($model))}} = $this->one({{class_basename($model)}}::class)),
|
|
$update = $this->make({{class_basename($model)}}::class, withDependency: true)
|
|
)
|
|
->assertOk();
|
|
}
|
|
|
|
/**
|
|
* @testWith
|
|
@foreach ($model->factory()->list() as $field)
|
|
* ["{{$field}}"]
|
|
@endforeach
|
|
*/
|
|
public function test_{{lcfirst(class_basename($model))}}_update_unprocessable($field)
|
|
{
|
|
$this->modelWithPolicy('{{$model->getTable()}}', ['permission:{{$model->getTable()}}.update'])
|
|
->loginAs(['{{$model->getTable()}}.update'])->putJson(
|
|
route("api.{{$model->getTable()}}.update", ${{lcfirst(class_basename($model))}} = $this->one({{class_basename($model)}}::class)),
|
|
$update = $this->make({{lcfirst(class_basename($model))}}::class, smash: $field, withDependency: true)
|
|
)
|
|
->assertUnprocessable();
|
|
}
|
|
|
|
public function test_{{lcfirst(class_basename($model))}}_update_forbidden()
|
|
{
|
|
$this->modelWithPolicy('{{$model->getTable()}}', ['permission:{{$model->getTable()}}.update'])
|
|
->loginAs(['wrong.permission'])
|
|
->putJson(
|
|
route("api.{{$model->getTable()}}.update", ${{lcfirst(class_basename($model))}} = $this->one({{class_basename($model)}}::class)),
|
|
[]
|
|
)
|
|
->assertForbidden();
|
|
}
|
|
|
|
public function test_{{lcfirst(class_basename($model))}}_update_not_found()
|
|
{
|
|
$this->loginAsUser(['{{$model->getTable()}}.update'])
|
|
->putJson(route("api.{{$model->getTable()}}.update", 0), [])
|
|
->assertNotFound();
|
|
}
|
|
}
|