assertSame($outcome, AdminAcl::can($permission, $check)); } /** * Test that checking against a model works as expected. */ public function test_check(): void { $model = ApiKey::factory()->make(['permissions' => [ Server::RESOURCE_NAME => AdminAcl::READ | AdminAcl::WRITE, ]]); $this->assertTrue(AdminAcl::check($model, Server::RESOURCE_NAME, AdminAcl::WRITE)); } /** * Provide valid and invalid permissions combos for testing. */ public static function permissionsDataProvider(): array { return [ [AdminAcl::READ, AdminAcl::READ, true], [AdminAcl::READ | AdminAcl::WRITE, AdminAcl::READ, true], [AdminAcl::READ | AdminAcl::WRITE, AdminAcl::WRITE, true], [AdminAcl::WRITE, AdminAcl::WRITE, true], [AdminAcl::READ, AdminAcl::WRITE, false], [AdminAcl::NONE, AdminAcl::READ, false], [AdminAcl::NONE, AdminAcl::WRITE, false], ]; } }