role factory

This commit is contained in:
denisdulici
2020-01-13 11:24:59 +03:00
parent 489b459e13
commit 3fa3064950
3 changed files with 31 additions and 17 deletions

View File

@ -7,10 +7,12 @@ $factory->define(Permission::class, function (Faker $faker) {
$map = ['Create', 'Read', 'Update', 'Delete'];
$prefix = $faker->randomElement($map);
$word_1 = $faker->word;
$word_2 = $faker->word;
return [
'name' => strtolower($prefix) . '-' . strtolower($faker->word) . '-' . strtolower($faker->word),
'display_name' => $prefix . ' ' . $faker->text(5),
'description' => $prefix . ' ' . $faker->text(5),
'name' => strtolower($prefix) . '-' . strtolower($word_1) . '-' . strtolower($word_2),
'display_name' => $prefix . ' ' . $word_1 . ' ' . $word_2,
'description' => $prefix . ' ' . $word_1 . ' ' . $word_2,
];
});

View File

@ -0,0 +1,16 @@
<?php
use App\Models\Auth\Permission;
use App\Models\Auth\Role;
use Faker\Generator as Faker;
$factory->define(Role::class, function (Faker $faker) {
$name = $faker->word;
return [
'name' => strtolower($name),
'display_name' => $name,
'description' => $name,
'permissions' => Permission::take(10)->pluck('id')->toArray(),
];
});

View File

@ -3,7 +3,7 @@
namespace Tests\Feature\Auth;
use App\Jobs\Auth\CreateRole;
use App\Models\Auth\Permission;
use App\Models\Auth\Role;
use Tests\Feature\FeatureTestCase;
class RolesTest extends FeatureTestCase
@ -28,7 +28,7 @@ class RolesTest extends FeatureTestCase
public function testItShouldCreateRole()
{
$this->loginAs()
->post(route('roles.store'), $this->getRoleRequest())
->post(route('roles.store'), $this->getRequest())
->assertStatus(200);
$this->assertFlashLevel('success');
@ -36,7 +36,7 @@ class RolesTest extends FeatureTestCase
public function testItShouldSeeRoleUpdatePage()
{
$role = $this->dispatch(new CreateRole($this->getRoleRequest()));
$role = $this->dispatch(new CreateRole($this->getRequest()));
$this->loginAs()
->get(route('roles.edit', $role->id))
@ -46,22 +46,23 @@ class RolesTest extends FeatureTestCase
public function testItShouldUpdateRole()
{
$request = $this->getRoleRequest();
$request = $this->getRequest();
$role = $this->dispatch(new CreateRole($request));
$request['name'] = $this->faker->name;
$request['display_name'] = $this->faker->word;
$this->loginAs()
->patch(route('roles.update', $role->id), $request)
->assertStatus(200);
->assertStatus(200)
->assertSee($request['display_name']);
$this->assertFlashLevel('success');
}
public function testItShouldDeleteRole()
{
$role = $this->dispatch(new CreateRole($this->getRoleRequest()));
$role = $this->dispatch(new CreateRole($this->getRequest()));
$this->loginAs()
->delete(route('roles.destroy', $role->id))
@ -70,13 +71,8 @@ class RolesTest extends FeatureTestCase
$this->assertFlashLevel('success');
}
private function getRoleRequest()
public function getRequest()
{
return [
'name' => $this->faker->text(5),
'display_name' => $this->faker->text(5),
'description' => $this->faker->text(5),
'permissions' => Permission::take(10)->pluck('id')->toArray(),
];
return factory(Role::class)->raw();
}
}