PluginProbe
Packeta / 2.0.9
Packeta v2.0.9
2.3.2 2.3.1 trunk 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3.0 1.3.1 1.3.2 1.4 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 All 56 releases
packeta / tests / Module / Options / FlagManager / FeatureFlagProviderTest.php

FeatureFlagProviderTest.php in Packeta 2.0.9, at tests/Module/Options/FlagManager/FeatureFlagProviderTest.php

58 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 declare( strict_types=1 );
4
5 namespace Tests\Module\Options\FlagManager;
6
7 use Packetery\Module\Options\FlagManager\FeatureFlagDownloader;
8 use Packetery\Module\Options\FlagManager\FeatureFlagProvider;
9 use PHPUnit\Framework\TestCase;
10 use Tests\Module\MockFactory;
11
12 class FeatureFlagProviderTest extends TestCase {
13 public static function shouldShowSplitActivationNoticeDataProvider(): array {
14 return [
15 [
16 'isSplitActive' => true,
17 'messageDismissed' => false,
18 'expectedResult' => true,
19 ],
20 [
21 'isSplitActive' => true,
22 'messageDismissed' => 'yes',
23 'expectedResult' => false,
24 ],
25 ];
26 }
27
28 /**
29 * @dataProvider shouldShowSplitActivationNoticeDataProvider
30 */
31 public function testShouldShowSplitActivationNotice(
32 bool $isSplitActive,
33 string|false $messageDismissed,
34 bool $expectedResult,
35 ): void {
36 $wpAdapter = MockFactory::createWpAdapter( $this );
37 $wpAdapter
38 ->method( 'getTransient' )
39 ->willReturn( $messageDismissed );
40
41 $downloader = $this->createMock( FeatureFlagDownloader::class );
42 $downloader
43 ->method( 'getFlags' )
44 ->willReturn(
45 [
46 FeatureFlagProvider::FLAG_SPLIT_ACTIVE => $isSplitActive,
47 ]
48 );
49
50 $manager = new FeatureFlagProvider(
51 $wpAdapter,
52 $downloader,
53 );
54
55 self::assertEquals( $expectedResult, $manager->shouldShowSplitActivationNotice() );
56 }
57 }
58