Skip to content

Commit 5fc79aa

Browse files
Replace SplitResult with FallbackTreatment in fallback treatments configuration
1 parent 0deae7f commit 5fc79aa

4 files changed

Lines changed: 35 additions & 13 deletions

File tree

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
class FallbackTreatment {
2+
final String treatment;
3+
final String? config;
4+
5+
const FallbackTreatment(this.treatment, [this.config]);
6+
}

splitio_platform_interface/lib/split_fallback_treatments_configuration.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import 'package:splitio_platform_interface/split_result.dart';
1+
import 'package:splitio_platform_interface/split_fallback_treatment.dart';
22

33
class FallbackTreatmentsConfiguration {
44
Map<String, String?>? _global;
@@ -8,7 +8,7 @@ class FallbackTreatmentsConfiguration {
88
Map<String, Map<String, String?>>? get byFlag => _byFlag;
99

1010
FallbackTreatmentsConfiguration(
11-
{SplitResult? global, Map<String, SplitResult>? byFlag}) {
11+
{FallbackTreatment? global, Map<String, FallbackTreatment>? byFlag}) {
1212
_global = global != null
1313
? {'treatment': global.treatment, 'config': global.config}
1414
: null;
Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,32 @@
11
import 'package:flutter_test/flutter_test.dart';
2+
import 'package:splitio_platform_interface/split_fallback_treatment.dart';
23
import 'package:splitio_platform_interface/split_fallback_treatments_configuration.dart';
3-
import 'package:splitio_platform_interface/split_result.dart';
44

55
void main() {
66
test('global and by flag fallback treatments', () {
7-
var config = FallbackTreatmentsConfiguration(global: const SplitResult('custom-treatment', null));
7+
var config = FallbackTreatmentsConfiguration(
8+
global: const FallbackTreatment('custom-treatment'));
89

9-
expect(config.global, equals({'treatment': 'custom-treatment', 'config': null}));
10+
expect(config.global,
11+
equals({'treatment': 'custom-treatment', 'config': null}));
1012
expect(config.byFlag, null);
1113

12-
config = FallbackTreatmentsConfiguration(byFlag: {'flag1': const SplitResult('custom-treatment', 'custom-config')});
13-
expect(config.byFlag, equals({'flag1': {'treatment': 'custom-treatment', 'config': 'custom-config'}}));
14+
config = FallbackTreatmentsConfiguration(byFlag: {
15+
'flag1': const FallbackTreatment('custom-treatment-1', 'custom-config-1'),
16+
'flag2': const FallbackTreatment('custom-treatment-2', 'custom-config-2')
17+
});
18+
expect(
19+
config.byFlag,
20+
equals({
21+
'flag1': {
22+
'treatment': 'custom-treatment-1',
23+
'config': 'custom-config-1'
24+
},
25+
'flag2': {
26+
'treatment': 'custom-treatment-2',
27+
'config': 'custom-config-2'
28+
}
29+
}));
1430
expect(config.global, null);
1531
});
1632

@@ -20,4 +36,4 @@ void main() {
2036
expect(config.global, null);
2137
expect(config.byFlag, null);
2238
});
23-
}
39+
}

splitio_platform_interface/test/splitio_configuration_test.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import 'package:flutter_test/flutter_test.dart';
22
import 'package:splitio_platform_interface/split_certificate_pinning_configuration.dart';
33
import 'package:splitio_platform_interface/split_configuration.dart';
4+
import 'package:splitio_platform_interface/split_fallback_treatment.dart';
45
import 'package:splitio_platform_interface/split_fallback_treatments_configuration.dart';
5-
import 'package:splitio_platform_interface/split_result.dart';
66
import 'package:splitio_platform_interface/split_rollout_cache_configuration.dart';
77
import 'package:splitio_platform_interface/split_sync_config.dart';
88

@@ -41,11 +41,11 @@ void main() {
4141
rolloutCacheConfiguration:
4242
RolloutCacheConfiguration(expirationDays: 15, clearOnInit: true),
4343
fallbackTreatments: FallbackTreatmentsConfiguration(
44-
global: const SplitResult('custom-treatment', null),
44+
global: const FallbackTreatment('custom-treatment'),
4545
byFlag: {
46-
'flag1':
47-
const SplitResult('custom-treatment-flag1', 'config-flag1'),
48-
'flag2': const SplitResult('custom-treatment-flag2', null),
46+
'flag1': const FallbackTreatment(
47+
'custom-treatment-flag1', 'config-flag1'),
48+
'flag2': const FallbackTreatment('custom-treatment-flag2'),
4949
},
5050
));
5151

0 commit comments

Comments
 (0)