viewAnyToday($customer); // THEN expect($result)->toBeFalse(); }); test('viewAnyToday returns true for admin user', function () { // GIVEN $user = new User(); $user->role = UserRole::Admin; $policy = new OrderPolicy(); // WHEN $result = $policy->viewAnyToday($user); // THEN expect($result)->toBeTrue(); }); test('viewAny returns false for customer', function () { // GIVEN $customer = new Customer(); $policy = new OrderPolicy(); // WHEN $result = $policy->viewAny($customer); // THEN expect($result)->toBeFalse(); }); test('viewAny returns true for admin user', function () { // GIVEN $user = new User(); $user->role = UserRole::Admin; $policy = new OrderPolicy(); // WHEN $result = $policy->viewAny($user); // THEN expect($result)->toBeTrue(); }); test('view returns false for customer', function () { // GIVEN $customer = new Customer(); $policy = new OrderPolicy(); $order = new Order(); // WHEN $result = $policy->view($customer, $order); // THEN expect($result)->toBeFalse(); }); test('view returns true for admin user', function () { // GIVEN $user = new User(); $user->role = UserRole::Admin; $policy = new OrderPolicy(); $order = new Order(); // WHEN $result = $policy->view($user, $order); // THEN expect($result)->toBeTrue(); }); test('cancel returns false for customer', function () { // GIVEN $customer = new Customer(); $policy = new OrderPolicy(); $order = new Order(); // WHEN $result = $policy->cancel($customer, $order); // THEN expect($result)->toBeFalse(); }); test('cancel returns true for admin user when order is not canceled', function () { // GIVEN $user = new User(); $user->role = UserRole::Admin; $order = new Order(); $order->status = OrderStatus::WAITING; $policy = new OrderPolicy(); // WHEN $result = $policy->cancel($user, $order); // THEN expect($result)->toBeTrue(); }); test('cancel returns false for admin user when order is canceled', function () { // GIVEN $user = new User(); $user->role = UserRole::Admin; $order = new Order(); $order->status = OrderStatus::CANCELED; $policy = new OrderPolicy(); // WHEN $result = $policy->cancel($user, $order); // THEN expect($result)->toBeFalse(); }); });