Skip to content

Commit 4190139

Browse files
committed
more fix
1 parent 6378236 commit 4190139

File tree

2 files changed

+40
-27
lines changed

2 files changed

+40
-27
lines changed

lib/vuid/vuid_manager.spec.ts

Lines changed: 39 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import { getMockAsyncCache } from '../tests/mock/mock_cache';
2222
import { isVuid } from './vuid';
2323
import { resolvablePromise } from '../utils/promise/resolvablePromise';
2424
import { exhaustMicrotasks } from '../tests/testUtils';
25+
import { get } from 'http';
2526

2627
const vuidCacheKey = 'optimizely-vuid';
2728

@@ -76,7 +77,7 @@ describe('VuidCacheManager', () => {
7677
const vuid1 = await manager.load();
7778
const vuid2 = await manager.load();
7879
expect(vuid1).toBe('vuid_valid');
79-
expect(vuid1).toBe('vuid_valid');
80+
expect(vuid2).toBe('vuid_valid');
8081
const vuidInCache = await cache.get(vuidCacheKey);
8182
expect(vuidInCache).toBe('vuid_valid');
8283
});
@@ -96,6 +97,10 @@ describe('VuidCacheManager', () => {
9697
await manager.load();
9798
const vuid2 = await cache2.get(vuidCacheKey);
9899
expect(vuid2).toBe('vuid_456');
100+
101+
await manager.remove();
102+
const vuidInCache = await cache2.get(vuidCacheKey);
103+
expect(vuidInCache).toBeUndefined();
99104
});
100105

101106
it('should sequence remove and load calls', async() => {
@@ -151,28 +156,43 @@ describe('VuidCacheManager', () => {
151156
});
152157

153158
describe('DefaultVuidManager', () => {
154-
it('should return undefined for getVuid() before initialization', async () => {
155-
const vuidCacheManager ={
156-
remove: vi.fn(),
157-
load: vi.fn(),
158-
} as unknown as VuidCacheManager;
159+
const getMockCacheManager = () => ({
160+
remove: vi.fn(),
161+
load: vi.fn(),
162+
setCache: vi.fn(),
163+
});
159164

165+
it('should return undefined for getVuid() before initialization', async () => {
160166
const manager = new DefaultVuidManager({
161-
vuidCacheManager,
167+
vuidCache: getMockAsyncCache<string>(),
168+
vuidCacheManager: getMockCacheManager() as unknown as VuidCacheManager,
162169
enableVuid: true
163170
});
164171

165172
expect(manager.getVuid()).toBeUndefined();
166173
});
167174

175+
it('should set the cache on vuidCacheManager', async () => {
176+
const vuidCacheManager = getMockCacheManager();
177+
178+
const cache = getMockAsyncCache<string>();
179+
180+
const manager = new DefaultVuidManager({
181+
vuidCache: cache,
182+
vuidCacheManager: vuidCacheManager as unknown as VuidCacheManager,
183+
enableVuid: false
184+
});
185+
186+
await manager.initialize();
187+
expect(vuidCacheManager.setCache).toHaveBeenCalledWith(cache);
188+
});
189+
168190
it('should call remove on VuidCacheManager if enableVuid is false', async () => {
169-
const vuidCacheManager ={
170-
remove: vi.fn(),
171-
load: vi.fn(),
172-
} as unknown as VuidCacheManager;
191+
const vuidCacheManager = getMockCacheManager();
173192

174193
const manager = new DefaultVuidManager({
175-
vuidCacheManager,
194+
vuidCache: getMockAsyncCache<string>(),
195+
vuidCacheManager: vuidCacheManager as unknown as VuidCacheManager,
176196
enableVuid: false
177197
});
178198

@@ -181,13 +201,11 @@ describe('DefaultVuidManager', () => {
181201
});
182202

183203
it('should return undefined for getVuid() after initialization if enableVuid is false', async () => {
184-
const vuidCacheManager ={
185-
remove: vi.fn(),
186-
load: vi.fn(),
187-
} as unknown as VuidCacheManager;
204+
const vuidCacheManager = getMockCacheManager();
188205

189206
const manager = new DefaultVuidManager({
190-
vuidCacheManager,
207+
vuidCache: getMockAsyncCache<string>(),
208+
vuidCacheManager: vuidCacheManager as unknown as VuidCacheManager,
191209
enableVuid: false
192210
});
193211

@@ -196,17 +214,12 @@ describe('DefaultVuidManager', () => {
196214
});
197215

198216
it('should load vuid using VuidCacheManger if enableVuid=true', async () => {
199-
const load = vi.fn();
200-
201-
const vuidCacheManager ={
202-
remove: vi.fn(),
203-
load,
204-
} as unknown as VuidCacheManager;
205-
206-
load.mockResolvedValue('vuid_valid');
217+
const vuidCacheManager = getMockCacheManager();
218+
vuidCacheManager.load.mockResolvedValue('vuid_valid');
207219

208220
const manager = new DefaultVuidManager({
209-
vuidCacheManager,
221+
vuidCache: getMockAsyncCache<string>(),
222+
vuidCacheManager: vuidCacheManager as unknown as VuidCacheManager,
210223
enableVuid: true
211224
});
212225

vitest.config.mts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export default defineConfig({
2020
test: {
2121
onConsoleLog: () => true,
2222
environment: 'happy-dom',
23-
include: ['**/vuid_manager_factory.react_native.spec.ts'],
23+
include: ['**/vuid_manager.spec.ts'],
2424
typecheck: {
2525
tsconfig: 'tsconfig.spec.json',
2626
},

0 commit comments

Comments
 (0)