Skip to content
21 changes: 21 additions & 0 deletions posthog_flutter/test/posthog_flutter_desktop_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2415,6 +2415,27 @@ void main() {
expect(_propertiesOf(called)[r'$feature_flag'], 'variant-flag');
});

test(
'reloadFeatureFlags returns the loaded flags, and the last known ones when loading fails',
() async {
final server = await LocalPostHogServer.start();
server.respond = (_) => PostHogResponse.json(_variantFlagResponse());
final announced = <PostHogFeatureFlagsLoaded>[];
final platform = await setUpPlatform(configFor(server)
..preloadFeatureFlags = false
..onFeatureFlags = announced.add);

final loaded = await platform.reloadFeatureFlags();
expect(loaded.variants, {'variant-flag': 'test-variant'});
expect(loaded.errorsLoading, isFalse);

server.respond = (_) => const PostHogResponse(HttpStatus.badRequest);
final failed = await platform.reloadFeatureFlags();
expect(failed.variants, {'variant-flag': 'test-variant'});
expect(failed.errorsLoading, isTrue);
expect(announced.last.errorsLoading, isTrue);
});

test('onFeatureFlags reports the flags cached by the previous launch',
() async {
final server = await LocalPostHogServer.start();
Expand Down
Loading