Skip to content

Commit 8158e45

Browse files
committed
really fix tests
1 parent cb062eb commit 8158e45

File tree

1 file changed

+23
-19
lines changed

1 file changed

+23
-19
lines changed

src/client/eppo-client.spec.ts

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,11 @@ describe('EppoClient E2E test', () => {
4545
}) as jest.Mock;
4646
const storage = new MemoryOnlyConfigurationStore<Flag | ObfuscatedFlag>();
4747

48+
function setUnobfuscatedFlagEntries(entries: Record<string, Flag | ObfuscatedFlag>) : Promise<boolean>{
49+
storage.setFormat(FormatEnum.SERVER);
50+
return storage.setEntries(entries);
51+
}
52+
4853
beforeAll(async () => {
4954
await initConfiguration(storage);
5055
});
@@ -88,7 +93,7 @@ describe('EppoClient E2E test', () => {
8893
let client: EppoClient;
8994

9095
beforeAll(() => {
91-
storage.setEntries({ [flagKey]: mockFlag });
96+
setUnobfuscatedFlagEntries({ [flagKey]: mockFlag });
9297
client = new EppoClient({ flagConfigurationStore: storage });
9398

9499
td.replace(EppoClient.prototype, 'getAssignmentDetail', function () {
@@ -144,7 +149,7 @@ describe('EppoClient E2E test', () => {
144149

145150
describe('setLogger', () => {
146151
beforeAll(() => {
147-
storage.setEntries({ [flagKey]: mockFlag });
152+
setUnobfuscatedFlagEntries({ [flagKey]: mockFlag });
148153
});
149154

150155
it('Invokes logger for queued events', () => {
@@ -192,7 +197,7 @@ describe('EppoClient E2E test', () => {
192197

193198
describe('precomputed flags', () => {
194199
beforeAll(() => {
195-
storage.setEntries({
200+
setUnobfuscatedFlagEntries({
196201
[flagKey]: mockFlag,
197202
disabledFlag: { ...mockFlag, enabled: false },
198203
anotherFlag: {
@@ -424,11 +429,10 @@ describe('EppoClient E2E test', () => {
424429
);
425430
});
426431

427-
it('logs variation assignment and experiment key', () => {
432+
it('logs variation assignment and experiment key', async () => {
428433
const mockLogger = td.object<IAssignmentLogger>();
429434

430-
storage.setEntries({ [flagKey]: mockFlag });
431-
storage.setFormat(FormatEnum.SERVER)
435+
await setUnobfuscatedFlagEntries({ [flagKey]: mockFlag });
432436
const client = new EppoClient({ flagConfigurationStore: storage });
433437
client.setAssignmentLogger(mockLogger);
434438

@@ -450,11 +454,11 @@ describe('EppoClient E2E test', () => {
450454
expect(loggedAssignmentEvent.allocation).toEqual(mockFlag.allocations[0].key);
451455
});
452456

453-
it('handles logging exception', () => {
457+
it('handles logging exception', async () => {
454458
const mockLogger = td.object<IAssignmentLogger>();
455459
td.when(mockLogger.logAssignment(td.matchers.anything())).thenThrow(new Error('logging error'));
456460

457-
storage.setEntries({ [flagKey]: mockFlag });
461+
await setUnobfuscatedFlagEntries({ [flagKey]: mockFlag });
458462
const client = new EppoClient({ flagConfigurationStore: storage });
459463
client.setAssignmentLogger(mockLogger);
460464

@@ -469,8 +473,8 @@ describe('EppoClient E2E test', () => {
469473
expect(assignment).toEqual('variation-a');
470474
});
471475

472-
it('exports flag configuration', () => {
473-
storage.setEntries({ [flagKey]: mockFlag });
476+
it('exports flag configuration', async () => {
477+
await setUnobfuscatedFlagEntries({ [flagKey]: mockFlag });
474478
const client = new EppoClient({ flagConfigurationStore: storage });
475479
expect(client.getFlagConfigurations()).toEqual({ [flagKey]: mockFlag });
476480
});
@@ -479,10 +483,10 @@ describe('EppoClient E2E test', () => {
479483
let client: EppoClient;
480484
let mockLogger: IAssignmentLogger;
481485

482-
beforeEach(() => {
486+
beforeEach(async () => {
483487
mockLogger = td.object<IAssignmentLogger>();
484488

485-
storage.setEntries({ [flagKey]: mockFlag });
489+
await setUnobfuscatedFlagEntries({ [flagKey]: mockFlag });
486490
client = new EppoClient({ flagConfigurationStore: storage });
487491
client.setAssignmentLogger(mockLogger);
488492
});
@@ -537,7 +541,7 @@ describe('EppoClient E2E test', () => {
537541
});
538542

539543
it('logs for each unique flag', async () => {
540-
await storage.setEntries({
544+
await setUnobfuscatedFlagEntries({
541545
[flagKey]: mockFlag,
542546
'flag-2': {
543547
...mockFlag,
@@ -564,7 +568,7 @@ describe('EppoClient E2E test', () => {
564568
expect(td.explain(mockLogger.logAssignment).callCount).toEqual(3);
565569
});
566570

567-
it('logs twice for the same flag when allocations change', () => {
571+
it('logs twice for the same flag when allocations change', async () => {
568572
client.useNonExpiringInMemoryAssignmentCache();
569573

570574
storage.setEntries({
@@ -588,7 +592,7 @@ describe('EppoClient E2E test', () => {
588592
});
589593
client.getStringAssignment(flagKey, 'subject-10', {}, 'default');
590594

591-
storage.setEntries({
595+
await setUnobfuscatedFlagEntries({
592596
[flagKey]: {
593597
...mockFlag,
594598
allocations: [
@@ -614,13 +618,13 @@ describe('EppoClient E2E test', () => {
614618
client.useNonExpiringInMemoryAssignmentCache();
615619

616620
// original configuration version
617-
storage.setEntries({ [flagKey]: mockFlag });
621+
setUnobfuscatedFlagEntries({ [flagKey]: mockFlag });
618622

619623
client.getStringAssignment(flagKey, 'subject-10', {}, 'default'); // log this assignment
620624
client.getStringAssignment(flagKey, 'subject-10', {}, 'default'); // cache hit, don't log
621625

622626
// change the variation
623-
storage.setEntries({
627+
setUnobfuscatedFlagEntries({
624628
[flagKey]: {
625629
...mockFlag,
626630
allocations: [
@@ -643,13 +647,13 @@ describe('EppoClient E2E test', () => {
643647
client.getStringAssignment(flagKey, 'subject-10', {}, 'default'); // cache hit, don't log
644648

645649
// change the flag again, back to the original
646-
storage.setEntries({ [flagKey]: mockFlag });
650+
setUnobfuscatedFlagEntries({ [flagKey]: mockFlag });
647651

648652
client.getStringAssignment(flagKey, 'subject-10', {}, 'default'); // important: log this assignment
649653
client.getStringAssignment(flagKey, 'subject-10', {}, 'default'); // cache hit, don't log
650654

651655
// change the allocation
652-
storage.setEntries({
656+
setUnobfuscatedFlagEntries({
653657
[flagKey]: {
654658
...mockFlag,
655659
allocations: [

0 commit comments

Comments
 (0)