@@ -5,7 +5,7 @@ import * as chai from "chai";
55import * as chaiAsPromised from "chai-as-promised" ;
66import { featureFlagContentType } from "@azure/app-configuration" ;
77import { load } from "./exportedApi.js" ;
8- import { MAX_TIME_OUT , createMockedConnectionString , createMockedEndpoint , createMockedFeatureFlag , createMockedKeyValue , mockAppConfigurationClientListConfigurationSettings , restoreMocks } from "./utils/testHelper.js" ;
8+ import { MAX_TIME_OUT , mockAppConfigurationClientGetSnapshot , mockAppConfigurationClientListConfigurationSettingsForSnapshot , createMockedConnectionString , createMockedEndpoint , createMockedFeatureFlag , createMockedKeyValue , mockAppConfigurationClientListConfigurationSettings , restoreMocks } from "./utils/testHelper.js" ;
99chai . use ( chaiAsPromised ) ;
1010const expect = chai . expect ;
1111
@@ -337,4 +337,25 @@ describe("feature flags", function () {
337337 expect ( featureFlag . telemetry . metadata . ETag ) . equals ( "ETag" ) ;
338338 expect ( featureFlag . telemetry . metadata . FeatureFlagReference ) . equals ( `${ createMockedEndpoint ( ) } /kv/.appconfig.featureflag/Telemetry_2?label=Test` ) ;
339339 } ) ;
340+
341+ it ( "should load feature flags from snapshot" , async ( ) => {
342+ const snapshotName = "Test" ;
343+ mockAppConfigurationClientGetSnapshot ( snapshotName , { compositionType : "key" } ) ;
344+ mockAppConfigurationClientListConfigurationSettingsForSnapshot ( snapshotName , [ [ createMockedFeatureFlag ( "TestFeature" , { enabled : true } ) ] ] ) ;
345+ const connectionString = createMockedConnectionString ( ) ;
346+ const settings = await load ( connectionString , {
347+ featureFlagOptions : {
348+ enabled : true ,
349+ selectors : [ { snapshotName : snapshotName } ]
350+ }
351+ } ) ;
352+ expect ( settings ) . not . undefined ;
353+ expect ( settings . get ( "feature_management" ) ) . not . undefined ;
354+ const featureFlags = settings . get < any > ( "feature_management" ) . feature_flags ;
355+ expect ( ( featureFlags as [ ] ) . length ) . equals ( 1 ) ;
356+ const featureFlag = featureFlags [ 0 ] ;
357+ expect ( featureFlag . id ) . equals ( "TestFeature" ) ;
358+ expect ( featureFlag . enabled ) . equals ( true ) ;
359+ restoreMocks ( ) ;
360+ } ) ;
340361} ) ;
0 commit comments