isApprovalAlreadyRequested example

static::assertFalse($approvalDetector->needsApprovalRequest());

        $approvalDetector = new ApprovalDetector(true, new StaticSystemConfigService());

        static::assertTrue($approvalDetector->needsApprovalRequest());
    }

    public function testApprovalIsNotRequestedIfConfigValueIsNotSet(): void
    {
        $approvalDetector = new ApprovalDetector(true, new StaticSystemConfigService());

        static::assertFalse($approvalDetector->isApprovalAlreadyRequested());
    }

    public function testApprovalIsAlreadyRequestedIfConfigValueIsSet(): void
    {
        $systemConfig = new StaticSystemConfigService([
            ApprovalDetector::SYSTEM_CONFIG_KEY_SHARE_DATA => true,
        ]);

        $approvalDetector = new ApprovalDetector(true, $systemConfig);

        static::assertTrue($approvalDetector->isApprovalAlreadyRequested());

        
#[Route(defaults: ['_routeScope' => ['api']])] class UsageDataController extends AbstractController
{
    public function __construct(
        private readonly ApprovalDetector $approvalDetector,
    ) {
    }

    #[Route(path: '/api/usage-data/needs-approval', name: 'api.usage-data.request', methods: [Request::METHOD_GET])]     public function needsApprovalRequest(): JsonResponse
    {
        return new JsonResponse($this->approvalDetector->needsApprovalRequest() && !$this->approvalDetector->isApprovalAlreadyRequested());
    }
}
Home | Imprint | This part of the site doesn't use cookies.