9 changed files with 115 additions and 56 deletions
-
5app/Entities/Partners/Partner.php
-
4app/Http/Controllers/Partners/PartnersController.php
-
17app/Policies/AgencyPolicy.php
-
1app/Providers/AuthServiceProvider.php
-
1resources/lang/id/partner.php
-
11resources/views/layouts/partials/sidebar.blade.php
-
102resources/views/partners/index.blade.php
-
12tests/Unit/Models/PartnerTest.php
-
18tests/Unit/Policies/AgencyPolicyTest.php
@ -0,0 +1,17 @@ |
|||||
|
<?php |
||||
|
|
||||
|
namespace App\Policies; |
||||
|
|
||||
|
use App\Entities\Agencies\Agency; |
||||
|
use App\Entities\Users\User; |
||||
|
use Illuminate\Auth\Access\HandlesAuthorization; |
||||
|
|
||||
|
class AgencyPolicy |
||||
|
{ |
||||
|
use HandlesAuthorization; |
||||
|
|
||||
|
public function manage(User $user, Agency $agency) |
||||
|
{ |
||||
|
return $user->id == $agency->owner_id; |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,18 @@ |
|||||
|
<?php |
||||
|
|
||||
|
namespace Tests\Unit\Policies; |
||||
|
|
||||
|
use App\Entities\Agencies\Agency; |
||||
|
use Tests\TestCase as TestCase; |
||||
|
|
||||
|
class AgencyPolicyTest extends TestCase |
||||
|
{ |
||||
|
/** @test */ |
||||
|
public function user_can_manage_owned_agency() |
||||
|
{ |
||||
|
$user = $this->createUser(); |
||||
|
factory(Agency::class)->create(['owner_id' => $user->id]); |
||||
|
|
||||
|
$this->assertTrue($user->can('manage', $user->agency)); |
||||
|
} |
||||
|
} |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue