Skip to content

Commit 37631f6

Browse files
committed
wip
Signed-off-by: Mior Muhammad Zaki <[email protected]>
1 parent 3ee136d commit 37631f6

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

tests/Feature/Console/PolicyMakeCommandTest.php

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,57 @@
2323

2424
$this->assertFileContains([
2525
'namespace App\Nova\Policies;',
26+
'use App\Nova\Resource;',
2627
'use Illuminate\Auth\Access\Response;',
2728
'use Illuminate\Foundation\Auth\User;',
2829
'class UserPolicy',
30+
'public function viewAny(User $user): bool',
31+
'public function view(User $user, Resource $resource): bool',
32+
'public function create(User $user): bool',
33+
'public function update(User $user, Resource $resource): bool',
34+
'public function delete(User $user, Resource $resource): bool',
35+
'public function restore(User $user, Resource $resource): bool',
36+
'public function forceDelete(User $user, Resource $resource): bool',
2937
], 'app/Nova/Policies/UserPolicy.php');
3038
});
39+
40+
it('can generate policy file for user resource', function () {
41+
artisan('nova:policy', ['name' => 'UserPolicy', '--resource' => 'User', '--preset' => 'laravel'])
42+
->assertSuccessful();
43+
44+
$this->assertFileContains([
45+
'namespace App\Nova\Policies;',
46+
'use App\Nova\User as UserResource;',
47+
'use Illuminate\Auth\Access\Response;',
48+
'use Illuminate\Foundation\Auth\User;',
49+
'class UserPolicy',
50+
'public function viewAny(User $user): bool',
51+
'public function view(User $user, UserResource $resource): bool',
52+
'public function create(User $user): bool',
53+
'public function update(User $user, UserResource $resource): bool',
54+
'public function delete(User $user, UserResource $resource): bool',
55+
'public function restore(User $user, UserResource $resource): bool',
56+
'public function forceDelete(User $user, UserResource $resource): bool',
57+
], 'app/Nova/Policies/UserPolicy.php');
58+
});
59+
60+
61+
it('can generate policy file for a resource', function () {
62+
artisan('nova:policy', ['name' => 'PostPolicy', '--resource' => 'Post', '--preset' => 'laravel'])
63+
->assertSuccessful();
64+
65+
$this->assertFileContains([
66+
'namespace App\Nova\Policies;',
67+
'use App\Nova\Post;',
68+
'use Illuminate\Auth\Access\Response;',
69+
'use Illuminate\Foundation\Auth\User;',
70+
'class PostPolicy',
71+
'public function viewAny(User $user): bool',
72+
'public function view(User $user, Post $post): bool',
73+
'public function create(User $user): bool',
74+
'public function update(User $user, Post $post): bool',
75+
'public function delete(User $user, Post $post): bool',
76+
'public function restore(User $user, Post $post): bool',
77+
'public function forceDelete(User $user, Post $post): bool',
78+
], 'app/Nova/Policies/PostPolicy.php');
79+
});

0 commit comments

Comments
 (0)