Skip to content

Commit 8b9afa3

Browse files
update ts-tests
1 parent 56f5dd4 commit 8b9afa3

File tree

1 file changed

+34
-65
lines changed

1 file changed

+34
-65
lines changed

ts-tests/index.ts

Lines changed: 34 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -271,16 +271,6 @@ splitEvent = client.Event.SDK_UPDATE;
271271

272272
// Client implements methods from IEventEmitter that is a subset of Node.js EventEmitter. Testing a few.
273273
client = client.on(splitEvent, () => { });
274-
// Event listeners with metadata
275-
client = client.on(client.Event.SDK_READY, (metadata: SplitIO.SdkReadyMetadata) => {
276-
sdkReadyMetadata = metadata;
277-
});
278-
client = client.on(client.Event.SDK_READY_FROM_CACHE, (metadata: SplitIO.SdkReadyMetadata) => {
279-
sdkReadyMetadata = metadata;
280-
});
281-
client = client.on(client.Event.SDK_UPDATE, (metadata: SplitIO.SdkUpdateMetadata) => {
282-
sdkUpdateMetadata = metadata;
283-
});
284274
const a: boolean = client.emit(splitEvent);
285275
client = client.removeAllListeners(splitEvent);
286276
client = client.removeAllListeners();
@@ -384,51 +374,41 @@ tracked = client.track('myTrafficType', 'myEventType', 10);
384374
tracked = client.track('myTrafficType', 'myEventType', null, { prop1: 1, prop2: '2', prop3: false, prop4: null });
385375
// tracked = client.track('myEventType', undefined, { prop1: 1, prop2: '2', prop3: false, prop4: null }); // Not valid in Browser JS SDK
386376

387-
// SDK Update Metadata Keys
388-
const flagsUpdate: SplitIO.SdkUpdateMetadataKeys['FLAGS_UPDATE'] = 'FLAGS_UPDATE';
389-
const segmentsUpdate: SplitIO.SdkUpdateMetadataKeys['SEGMENTS_UPDATE'] = 'SEGMENTS_UPDATE';
390-
391-
// SDK Update Metadata
392-
let sdkUpdateMetadata: SplitIO.SdkUpdateMetadata = {
393-
type: 'FLAGS_UPDATE',
394-
names: ['flag1', 'flag2']
395-
};
396-
sdkUpdateMetadata = {
397-
type: 'SEGMENTS_UPDATE',
398-
names: ['segment1']
399-
};
400-
401-
// SDK Ready Metadata
402-
let sdkReadyMetadata: SplitIO.SdkReadyMetadata = {
403-
initialCacheLoad: true,
404-
lastUpdateTimestamp: Date.now()
405-
};
406-
sdkReadyMetadata = {
407-
initialCacheLoad: false,
408-
lastUpdateTimestamp: Date.now()
409-
};
377+
/*** Tests for SDK Update Metadata ***/
410378

411-
// SDK_READY event listener with metadata
412-
client.on(client.Event.SDK_READY, (metadata: SplitIO.SdkReadyMetadata) => {
379+
// Using addListener with typed metadata
380+
client.addListener(client.Event.SDK_UPDATE, (metadata: SplitIO.SdkUpdateMetadata) => {
381+
const type: SplitIO.SdkUpdateMetadataKeys['FLAGS_UPDATE'] | SplitIO.SdkUpdateMetadataKeys['SEGMENTS_UPDATE'] = metadata.type;
382+
const names: string[] = metadata.names;
383+
});
384+
client.addListener(client.Event.SDK_READY, (metadata: SplitIO.SdkReadyMetadata) => {
413385
const fromCache: boolean = metadata.initialCacheLoad;
414386
const timestamp: number = metadata.lastUpdateTimestamp;
415387
});
416-
417-
// SDK_READY_FROM_CACHE event listener with metadata
418-
client.on(client.Event.SDK_READY_FROM_CACHE, (metadata: SplitIO.SdkReadyMetadata) => {
388+
client.addListener(client.Event.SDK_READY_FROM_CACHE, (metadata: SplitIO.SdkReadyMetadata) => {
419389
const fromCache: boolean = metadata.initialCacheLoad;
420390
const timestamp: number = metadata.lastUpdateTimestamp;
421391
});
422-
423-
// Using addListener with typed metadata
424-
client.addListener(client.Event.SDK_UPDATE, (metadata: SplitIO.SdkUpdateMetadata) => { });
425-
client.addListener(client.Event.SDK_READY, (metadata: SplitIO.SdkReadyMetadata) => { });
426-
client.addListener(client.Event.SDK_READY_FROM_CACHE, (metadata: SplitIO.SdkReadyMetadata) => { });
392+
client.addListener(client.Event.SDK_UPDATE, () => { });
393+
client.addListener(client.Event.SDK_READY, () => { });
394+
client.addListener(client.Event.SDK_READY_FROM_CACHE, () => { });
427395

428396
// Using once with typed metadata
429-
client.once(client.Event.SDK_UPDATE, (metadata: SplitIO.SdkUpdateMetadata) => { });
430-
client.once(client.Event.SDK_READY, (metadata: SplitIO.SdkReadyMetadata) => { });
431-
client.once(client.Event.SDK_READY_FROM_CACHE, (metadata: SplitIO.SdkReadyMetadata) => { });
397+
client.once(client.Event.SDK_UPDATE, (metadata: SplitIO.SdkUpdateMetadata) => {
398+
const type: SplitIO.SdkUpdateMetadataKeys['FLAGS_UPDATE'] | SplitIO.SdkUpdateMetadataKeys['SEGMENTS_UPDATE'] = metadata.type;
399+
const names: string[] = metadata.names;
400+
});
401+
client.once(client.Event.SDK_READY, (metadata: SplitIO.SdkReadyMetadata) => {
402+
const fromCache: boolean = metadata.initialCacheLoad;
403+
const timestamp: number = metadata.lastUpdateTimestamp;
404+
});
405+
client.once(client.Event.SDK_READY_FROM_CACHE, (metadata: SplitIO.SdkReadyMetadata) => {
406+
const fromCache: boolean = metadata.initialCacheLoad;
407+
const timestamp: number = metadata.lastUpdateTimestamp;
408+
});
409+
client.once(client.Event.SDK_UPDATE, () => { });
410+
client.once(client.Event.SDK_READY, () => { });
411+
client.once(client.Event.SDK_READY_FROM_CACHE, () => { });
432412

433413
// SDK_READY event listener with metadata
434414
client.on(client.Event.SDK_READY, (metadata: SplitIO.SdkReadyMetadata) => {
@@ -442,15 +422,14 @@ client.on(client.Event.SDK_READY_FROM_CACHE, (metadata: SplitIO.SdkReadyMetadata
442422
const timestamp: number = metadata.lastUpdateTimestamp;
443423
});
444424

445-
// Using addListener with typed metadata
446-
client.addListener(client.Event.SDK_UPDATE, (metadata: SplitIO.SdkUpdateMetadata) => { });
447-
client.addListener(client.Event.SDK_READY, (metadata: SplitIO.SdkReadyMetadata) => { });
448-
client.addListener(client.Event.SDK_READY_FROM_CACHE, (metadata: SplitIO.SdkReadyMetadata) => { });
449-
450-
// Using once with typed metadata
451-
client.once(client.Event.SDK_UPDATE, (metadata: SplitIO.SdkUpdateMetadata) => { });
452-
client.once(client.Event.SDK_READY, (metadata: SplitIO.SdkReadyMetadata) => { });
453-
client.once(client.Event.SDK_READY_FROM_CACHE, (metadata: SplitIO.SdkReadyMetadata) => { });
425+
// SDK_UPDATE event listener with metadata
426+
client.on(client.Event.SDK_UPDATE, (metadata: SplitIO.SdkUpdateMetadata) => {
427+
const type: SplitIO.SdkUpdateMetadataKeys['FLAGS_UPDATE'] | SplitIO.SdkUpdateMetadataKeys['SEGMENTS_UPDATE'] = metadata.type;
428+
const names: string[] = metadata.names;
429+
});
430+
client.on(client.Event.SDK_UPDATE, () => { });
431+
client.on(client.Event.SDK_READY, () => { });
432+
client.on(client.Event.SDK_READY_FROM_CACHE, () => { });
454433

455434
/*** Repeating tests for Async Client ***/
456435

@@ -463,16 +442,6 @@ splitEvent = asyncClient.Event.SDK_UPDATE;
463442

464443
// Client implements methods from Node.js EventEmitter. (same as for sync client, just for interface checking)
465444
asyncClient = asyncClient.on(splitEvent, () => { });
466-
// Event listeners with metadata for async client
467-
asyncClient = asyncClient.on(asyncClient.Event.SDK_READY, (metadata: SplitIO.SdkReadyMetadata) => {
468-
sdkReadyMetadata = metadata;
469-
});
470-
asyncClient = asyncClient.on(asyncClient.Event.SDK_READY_FROM_CACHE, (metadata: SplitIO.SdkReadyMetadata) => {
471-
sdkReadyMetadata = metadata;
472-
});
473-
asyncClient = asyncClient.on(asyncClient.Event.SDK_UPDATE, (metadata: SplitIO.SdkUpdateMetadata) => {
474-
sdkUpdateMetadata = metadata;
475-
});
476445
const a1: boolean = asyncClient.emit(splitEvent);
477446
asyncClient = asyncClient.removeAllListeners(splitEvent);
478447
asyncClient = asyncClient.removeAllListeners();

0 commit comments

Comments
 (0)