getRegisteredFeatures example

private array $envVarsBackup;

    /** * @var array<mixed> */
    private array $featureConfigBackup;

    protected function setUp(): void
    {
        $this->serverVarsBackup = $_SERVER;
        $this->envVarsBackup = $_ENV;
        $this->featureConfigBackup = Feature::getRegisteredFeatures();
    }

    protected function tearDown(): void
    {
        $_SERVER = $this->serverVarsBackup;
        $_ENV = $this->envVarsBackup;
        Feature::resetRegisteredFeatures();
        Feature::registerFeatures($this->featureConfigBackup);
    }

    /** * @covers ::fake */
private array $envVarsBackup;

    /** * @var array<mixed> */
    private array $featureConfigBackup;

    protected function setUp(): void
    {
        $this->serverVarsBackup = $_SERVER;
        $this->envVarsBackup = $_ENV;
        $this->featureConfigBackup = Feature::getRegisteredFeatures();

        Feature::registerFeature('FEATURE_NEXT_101');
        Feature::registerFeature('FEATURE_NEXT_102');
    }

    protected function tearDown(): void
    {
        $_SERVER = $this->serverVarsBackup;
        $_ENV = $this->envVarsBackup;
        Feature::resetRegisteredFeatures();
        Feature::registerFeatures($this->featureConfigBackup);
    }
$features = array_filter([
            $this->annotationReader->getMethodAnnotation($reflectedMethod, DisabledFeatures::class) ?? [],
            $this->annotationReader->getClassAnnotation($reflectedMethod->getDeclaringClass(), DisabledFeatures::class) ?? [],
        ]);

        $this->savedFeatureConfig = null;

        if (!str_starts_with($class$this->namespacePrefix)) {
            return;
        }

        $this->savedFeatureConfig = Feature::getRegisteredFeatures();
        $this->savedServerVars = $_SERVER;

        Feature::resetRegisteredFeatures();
        foreach ($_SERVER as $key => $value) {
            if (str_starts_with($key, 'v6.') || str_starts_with($key, 'FEATURE_') || str_starts_with($key, 'V6_')) {
                // set to false so that $_ENV is not checked                 $_SERVER[$key] = false;
            }
        }

        $disabledFlags = [];
        
'default' => true,
                'description' => 'test',
            ],
        ];
        Feature::resetRegisteredFeatures();
        Feature::registerFeatures($features);

        /** @var array<string, array{name?: string, default?: boolean, major?: boolean, description?: string}> $registeredFeatures */
        $registeredFeatures = [...array_keys(Feature::getAll(false)), ...['FEATURE_NEXT_102']];
        Feature::registerFeatures($registeredFeatures);

        $actualFeatures = Feature::getRegisteredFeatures();
        static::assertEquals($features['FEATURE_NEXT_101']$actualFeatures['FEATURE_NEXT_101']);

        $expectedFeatureFlags = [
            'FEATURE_NEXT_101' => true,
            'FEATURE_NEXT_102' => false,
        ];
        static::assertEquals($expectedFeatureFlags, Feature::getAll(false));
    }

    /** * @return array{0: string, 1: bool}[] */
/** * @var array<string, array{'name'?: string, 'default'?: boolean, 'major'?: boolean, 'description'?: string}> */
    private array $featureConfigBackup;

    private FeatureFlagExtension $extension;

    protected function setUp(): void
    {
        $this->serverVarsBackup = $_SERVER;
        $this->envVarsBackup = $_ENV;
        $this->featureConfigBackup = Feature::getRegisteredFeatures();
        $this->extension = new FeatureFlagExtension('Shopware\\Tests\\Unit\\', true);
    }

    protected function tearDown(): void
    {
        $_SERVER = $this->serverVarsBackup;
        $_ENV = $this->envVarsBackup;
        Feature::resetRegisteredFeatures();
        Feature::registerFeatures($this->featureConfigBackup);
    }

    
Home | Imprint | This part of the site doesn't use cookies.