Skip to content

Commit 91ce187

Browse files
Unit test
1 parent 266f091 commit 91ce187

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

src/readiness/__tests__/readinessManager.spec.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,14 +221,24 @@ test('READINESS MANAGER / Destroy after it was ready but before timedout', () =>
221221
counter++;
222222
});
223223

224+
let lastUpdate = readinessManager.lastUpdate();
225+
expect(lastUpdate).toBe(0);
226+
224227
readinessManager.splits.emit(SDK_SPLITS_ARRIVED);
225228
readinessManager.segments.emit(SDK_SEGMENTS_ARRIVED); // ready state
226229

230+
expect(readinessManager.lastUpdate()).toBeGreaterThan(lastUpdate);
231+
lastUpdate = readinessManager.lastUpdate();
232+
227233
readinessManager.segments.emit(SDK_SEGMENTS_ARRIVED); // fires an update
234+
expect(readinessManager.lastUpdate()).toBeGreaterThan(lastUpdate);
235+
lastUpdate = readinessManager.lastUpdate();
228236

229237
expect(readinessManager.isDestroyed()).toBe(false);
230238
readinessManager.destroy(); // Destroy the gate, removing all the listeners and clearing the ready timeout.
231239
expect(readinessManager.isDestroyed()).toBe(true);
240+
expect(readinessManager.lastUpdate()).toBeGreaterThan(lastUpdate);
241+
232242
readinessManager.destroy(); // no-op
233243
readinessManager.destroy(); // no-op
234244

src/readiness/readinessManager.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ export function readinessManagerFactory(
4242
let lastUpdate = 0;
4343
function syncLastUpdate() {
4444
const dateNow = Date.now();
45+
// ensure lastUpdate is always increasing per event, is case Date.now() is mocked or its value is the same
4546
lastUpdate = dateNow > lastUpdate ? dateNow : lastUpdate + 1;
4647
}
4748

0 commit comments

Comments
 (0)