123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- <?php
- namespace Tests\Unit\Permissions;
- use App\Shop\Permissions\Permission;
- use App\Shop\Permissions\Repositories\PermissionRepository;
- use App\Shop\Roles\Repositories\RoleRepository;
- use App\Shop\Roles\Role;
- use Illuminate\Support\Collection;
- use Tests\TestCase;
- class PermissionUnitTest extends TestCase
- {
- /** @test */
- public function it_can_attach_permission_to_role()
- {
- $role = factory(Role::class)->create();
- $permission = factory(Permission::class)->create();
- $roleRepo = new RoleRepository($role);
- $roleRepo->attachToPermission($permission);
- $attachedPermissions = $roleRepo->listPermissions();
- $attachedPermissions->each(function (Permission $item) use ($permission) {
- $this->assertEquals($permission->name, $item->name);
- });
- }
- /** @test */
- public function it_can_list_all_permissions()
- {
- factory(Permission::class, 5)->create();
- $permissionRepo = new PermissionRepository(new Permission);
- $list = $permissionRepo->listPermissions();
- $this->assertInstanceOf(Collection::class, $list);
- $this->assertCount(9, $list->all());
- }
- /** @test */
- public function it_can_delete_permission()
- {
- $permission = factory(Permission::class)->create();
- $permissionRepo = new PermissionRepository($permission);
- $deleted = $permissionRepo->deletePermissionById($permission->id);
- $this->assertTrue($deleted);
- }
- /** @test */
- public function it_can_update_the_permission()
- {
- $permission = factory(Permission::class)->create();
- $data = [
- 'name' => 'can-view',
- 'display_name' => 'Can View'
- ];
- $permissionRepo = new PermissionRepository($permission);
- $updated = $permissionRepo->updatePermission($data);
- $found = $permissionRepo->findPermissionById($permission->id);
- $this->assertTrue($updated);
- $this->assertEquals($data['name'], $found->name);
- $this->assertEquals($data['display_name'], $found->display_name);
- }
- /** @test */
- public function it_can_show_the_permission()
- {
- $permission = factory(Permission::class)->create();
- $permissionRepo = new PermissionRepository(new Permission);
- $found = $permissionRepo->findPermissionById($permission->id);
- $this->assertInstanceOf(Permission::class, $found);
- $this->assertEquals($permission->name, $found->name);
- $this->assertEquals($permission->display_name, $found->display_name);
- }
- /** @test */
- public function it_can_create_permission()
- {
- $data = [
- 'name' => 'can-view-employee-list',
- 'display_name' => 'Can View',
- 'description' => 'can view permission'
- ];
- $permissionRepo = new PermissionRepository(new Permission);
- $permission = $permissionRepo->createPermission($data);
- $this->assertInstanceOf(Permission::class, $permission);
- $this->assertEquals($data['name'], $permission->name);
- $this->assertEquals($data['display_name'], $permission->display_name);
- $this->assertEquals($data['description'], $permission->description);
- }
- }
|