1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- <?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));
- }
- }
|