viewAny($customer); // THEN expect($result)->toBeFalse(); }); test('viewAny returns true for admin user', function () { // GIVEN $user = new User(); $user->role = UserRole::Admin; $policy = new SlidePolicy(); // WHEN $result = $policy->viewAny($user); // THEN expect($result)->toBeTrue(); }); test('view returns false for customer', function () { // GIVEN $customer = new Customer(); $policy = new SlidePolicy(); $modelInstance = new Slide(); // WHEN $result = $policy->view($customer, $modelInstance); // THEN expect($result)->toBeFalse(); }); test('view returns true for admin user', function () { // GIVEN $user = new User(); $user->role = UserRole::Admin; $policy = new SlidePolicy(); $modelInstance = new Slide(); // WHEN $result = $policy->view($user, $modelInstance); // THEN expect($result)->toBeTrue(); }); test('create returns false for customer', function () { // GIVEN $customer = new Customer(); $policy = new SlidePolicy(); // WHEN $result = $policy->create($customer); // THEN expect($result)->toBeFalse(); }); test('create returns true for admin user', function () { // GIVEN $user = new User(); $user->role = UserRole::Admin; $policy = new SlidePolicy(); // WHEN $result = $policy->create($user); // THEN expect($result)->toBeTrue(); }); test('update returns false for customer', function () { // GIVEN $customer = new Customer(); $policy = new SlidePolicy(); $modelInstance = new Slide(); // WHEN $result = $policy->update($customer, $modelInstance); // THEN expect($result)->toBeFalse(); }); test('update returns true for admin user', function () { // GIVEN $user = new User(); $user->role = UserRole::Admin; $policy = new SlidePolicy(); $modelInstance = new Slide(); // WHEN $result = $policy->update($user, $modelInstance); // THEN expect($result)->toBeTrue(); }); test('delete returns false for customer', function () { // GIVEN $customer = new Customer(); $policy = new SlidePolicy(); $modelInstance = new Slide(); // WHEN $result = $policy->delete($customer, $modelInstance); // THEN expect($result)->toBeFalse(); }); test('delete returns true for admin user', function () { // GIVEN $user = new User(); $user->role = UserRole::Admin; $policy = new SlidePolicy(); $modelInstance = new Slide(); // WHEN $result = $policy->delete($user, $modelInstance); // THEN expect($result)->toBeTrue(); }); test('toggleStatus returns false for customer', function () { // GIVEN $customer = new Customer(); $policy = new SlidePolicy(); // WHEN $result = $policy->toggleStatus($customer); // THEN expect($result)->toBeFalse(); }); test('toggleStatus returns true for admin user', function () { // GIVEN $user = new User(); $user->role = UserRole::Admin; $policy = new SlidePolicy(); // WHEN $result = $policy->toggleStatus($user); // THEN expect($result)->toBeTrue(); }); test('view, update, delete return true for admin user with SlideDto', function () { // GIVEN $user = new User(); $user->role = UserRole::Admin; $policy = new SlidePolicy(); $dto = new SlideDto( id: 1, title: 'Titre', text: null, picture: 'pic.jpg', picture_alt: null, picture_title: null, link: null, link_label: null, link_new_tab: false, connected: false, date_start: null, date_end: null, order: 1, status: true, ); // WHEN & THEN expect($policy->view($user, $dto))->toBeTrue() ->and($policy->update($user, $dto))->toBeTrue() ->and($policy->delete($user, $dto))->toBeTrue(); }); });