Skip to content

Commit e3da348

Browse files
Merge pull request #20122 from mozilla/PAY-3555
feat(payments-next): Add Free Trial Nimbus config
2 parents 62b343f + 620daa1 commit e3da348

3 files changed

Lines changed: 28 additions & 0 deletions

File tree

configs/subplat-nimbus.fml.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,20 @@ features:
1919
value: { "enabled": false }
2020
- channel: production
2121
value: { "enabled": false }
22+
free-trial-feature:
23+
description: Control whether free trials are enabled for payments-next
24+
variables:
25+
enabled:
26+
description: If the feature is enabled.
27+
type: Boolean
28+
default: false
29+
defaults:
30+
- channel: developer
31+
value: { "enabled": true }
32+
- channel: staging
33+
value: { "enabled": false }
34+
- channel: production
35+
value: { "enabled": false }
2236
types:
2337
objects: {}
2438
enums: {}

libs/payments/experiments/src/lib/nimbus.factories.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import { faker } from '@faker-js/faker';
66
import type {
77
WelcomeFeature,
8+
FreeTrialFeature,
89
Features,
910
SubPlatNimbusResult,
1011
} from './nimbus.types';
@@ -16,8 +17,16 @@ export const WelcomeFeatureFactory = (
1617
...override,
1718
});
1819

20+
export const FreeTrialFeatureFactory = (
21+
override?: Partial<FreeTrialFeature>
22+
): FreeTrialFeature => ({
23+
enabled: faker.datatype.boolean(),
24+
...override,
25+
});
26+
1927
export const FeaturesFactory = (override?: Partial<Features>): Features => ({
2028
'welcome-feature': WelcomeFeatureFactory(),
29+
'free-trial-feature': FreeTrialFeatureFactory(),
2130
...override,
2231
});
2332

libs/payments/experiments/src/lib/nimbus.types.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,13 @@ export interface WelcomeFeature {
88
enabled: boolean;
99
}
1010

11+
export interface FreeTrialFeature {
12+
enabled: boolean;
13+
}
14+
1115
export interface Features {
1216
'welcome-feature': WelcomeFeature;
17+
'free-trial-feature': FreeTrialFeature;
1318
}
1419

1520
export interface SubPlatNimbusResult extends NimbusResult {

0 commit comments

Comments
 (0)