# packeta/2.0.9/tests/Module/Options/FlagManager/FeatureFlagProviderTest.php

Packeta, version 2.0.9. 58 lines.

- Page: https://pluginprobe.com/plugins/packeta/2.0.9/code/tests/Module/Options/FlagManager/FeatureFlagProviderTest.php
- Raw: https://pluginprobe.com/plugins/packeta/2.0.9/raw/tests/Module/Options/FlagManager/FeatureFlagProviderTest.php
- Modified: 2025-03-10T10:47:38+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/packeta/2.0.9/code/tests/Module/Options/FlagManager/FeatureFlagProviderTest.php#L10-L20`.

```php
<?php

declare( strict_types=1 );

namespace Tests\Module\Options\FlagManager;

use Packetery\Module\Options\FlagManager\FeatureFlagDownloader;
use Packetery\Module\Options\FlagManager\FeatureFlagProvider;
use PHPUnit\Framework\TestCase;
use Tests\Module\MockFactory;

class FeatureFlagProviderTest extends TestCase {
	public static function shouldShowSplitActivationNoticeDataProvider(): array {
		return [
			[
				'isSplitActive'    => true,
				'messageDismissed' => false,
				'expectedResult'   => true,
			],
			[
				'isSplitActive'    => true,
				'messageDismissed' => 'yes',
				'expectedResult'   => false,
			],
		];
	}

	/**
	 * @dataProvider shouldShowSplitActivationNoticeDataProvider
	 */
	public function testShouldShowSplitActivationNotice(
		bool $isSplitActive,
		string|false $messageDismissed,
		bool $expectedResult,
	): void {
		$wpAdapter = MockFactory::createWpAdapter( $this );
		$wpAdapter
			->method( 'getTransient' )
			->willReturn( $messageDismissed );

		$downloader = $this->createMock( FeatureFlagDownloader::class );
		$downloader
			->method( 'getFlags' )
			->willReturn(
				[
					FeatureFlagProvider::FLAG_SPLIT_ACTIVE => $isSplitActive,
				]
			);

		$manager = new FeatureFlagProvider(
			$wpAdapter,
			$downloader,
		);

		self::assertEquals( $expectedResult, $manager->shouldShowSplitActivationNotice() );
	}
}

```
