|
11 | 11 | use OpenFeature\Providers\Flagsmith\Test\TestCase;
|
12 | 12 | use OpenFeature\interfaces\provider\ErrorCode;
|
13 | 13 | use OpenFeature\interfaces\provider\Provider;
|
| 14 | +use OpenFeature\interfaces\provider\Reason; |
14 | 15 |
|
15 | 16 | use function file_get_contents;
|
16 | 17 | use function json_decode;
|
@@ -78,4 +79,42 @@ public function testBooleanResolutionWithDefaultValueFromFlag(): void
|
78 | 79 | $this->assertFalse($resolutionDetails->getValue());
|
79 | 80 | $this->assertEquals(ErrorCode::GENERAL(), $resolutionDetails->getError()?->getResolutionErrorCode());
|
80 | 81 | }
|
| 82 | + |
| 83 | + public function testStringResolutionWithEnabledFlag(): void |
| 84 | + { |
| 85 | + // Given |
| 86 | + $provider = $this->buildProvider(__DIR__ . '/../Fixtures/environments/string.json'); |
| 87 | + |
| 88 | + // When |
| 89 | + $resolutionDetails = $provider->resolveStringValue('string_feature', 'default value'); |
| 90 | + |
| 91 | + // Then |
| 92 | + $this->assertEquals('flag value', $resolutionDetails->getValue()); |
| 93 | + } |
| 94 | + |
| 95 | + public function testStringResolutionWithDisabledFlag(): void |
| 96 | + { |
| 97 | + // Given |
| 98 | + $provider = $this->buildProvider(__DIR__ . '/../Fixtures/environments/string.json'); |
| 99 | + |
| 100 | + // When |
| 101 | + $resolutionDetails = $provider->resolveStringValue('disabled_string_feature', 'default value'); |
| 102 | + |
| 103 | + // Then |
| 104 | + $this->assertEquals('default value', $resolutionDetails->getValue()); |
| 105 | + } |
| 106 | + |
| 107 | + public function testStringResolutionWithMissingFlag(): void |
| 108 | + { |
| 109 | + // Given |
| 110 | + $provider = $this->buildProvider(__DIR__ . '/../Fixtures/environments/string.json'); |
| 111 | + |
| 112 | + // When |
| 113 | + $resolutionDetails = $provider->resolveStringValue('missing_string_feature', 'default value'); |
| 114 | + |
| 115 | + // Then |
| 116 | + $this->assertEquals('default value', $resolutionDetails->getValue()); |
| 117 | + $this->assertEquals(ErrorCode::GENERAL(), $resolutionDetails->getError()?->getResolutionErrorCode()); |
| 118 | + $this->assertEquals(Reason::ERROR, $resolutionDetails->getReason()); |
| 119 | + } |
81 | 120 | }
|
0 commit comments