![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mcoil.corals.io/tests/Unit/Employees/ |
<?php namespace Tests\Unit\Employees; use App\Shop\Employees\Employee; use App\Shop\Employees\Repositories\EmployeeRepository; use App\Shop\Roles\Repositories\RoleRepository; use App\Shop\Roles\Role; use Tests\TestCase; class EmployeeUnitTest extends TestCase { /** @test */ public function it_can_list_all_the_roles_associated_to_the_employee() { $employee = factory(Employee::class)->create(); $roleRepo = new RoleRepository(new Role); $userRole = $roleRepo->createRole(['name' => 'user']); $employeeRepo = new EmployeeRepository($employee); $employeeRepo->syncRoles([$userRole->id]); $employeeRoles = $employeeRepo->listRoles(); $this->assertCount(1, $employeeRoles->all()); $employeeRoles->each(function (Role $role) use ($userRole) { $this->assertEquals($userRole->name, $role->name); }); } /** @test */ public function it_can_attach_or_detach_the_employee_role() { $employee = factory(Employee::class)->create(); $role = factory(Role::class)->create(); $employee->roles()->attach($role); $this->assertTrue($employee->hasRole($role->name)); $employee->roles()->detach($role); $this->assertFalse($employee->hasRole($role->name)); } }