11import { vi , describe , expect , it , beforeEach } from 'vitest' ;
22
3- vi . mock ( '../utils/cache/local_storage_cache .react_native' , ( ) => {
3+ vi . mock ( '../utils/cache/async_storage_cache .react_native' , ( ) => {
44 return {
5- LocalStorageCache : vi . fn ( ) ,
5+ AsyncStorageCache : vi . fn ( ) ,
66 } ;
77} ) ;
88
@@ -13,16 +13,19 @@ vi.mock('./vuid_manager', () => {
1313 } ;
1414} ) ;
1515
16- import { createVuidManager } from './vuid_manager_factory.browser' ;
17- import { Async }
16+ import { getMockAsyncCache } from '../tests/mock/mock_cache' ;
17+ import { createVuidManager } from './vuid_manager_factory.react_native' ;
18+ import { AsyncStorageCache } from '../utils/cache/async_storage_cache.react_native' ;
19+
1820import { DefaultVuidManager , VuidCacheManager } from './vuid_manager' ;
1921
2022describe ( 'createVuidManager' , ( ) => {
2123 const MockVuidCacheManager = vi . mocked ( VuidCacheManager ) ;
22- const MockLocalStorageCache = vi . mocked ( LocalStorageCache ) ;
24+ const MockAsyncStorageCache = vi . mocked ( AsyncStorageCache ) ;
2325 const MockDefaultVuidManager = vi . mocked ( DefaultVuidManager ) ;
2426
2527 beforeEach ( ( ) => {
28+ MockAsyncStorageCache . mockClear ( ) ;
2629 MockDefaultVuidManager . mockClear ( ) ;
2730 } ) ;
2831
@@ -36,16 +39,19 @@ describe('createVuidManager', () => {
3639 expect ( MockDefaultVuidManager . mock . calls [ 1 ] [ 0 ] . enableVuid ) . toBe ( false ) ;
3740 } ) ;
3841
39- it ( 'should use a VuidCacheManager with a LocalStorageCache' , ( ) => {
40- const manager = createVuidManager ( { enableVuid : true } ) ;
42+ it ( 'should use the provided cache' , ( ) => {
43+ const cache = getMockAsyncCache < string > ( ) ;
44+ const manager = createVuidManager ( { enableVuid : true , vuidCache : cache } ) ;
4145 expect ( manager ) . toBe ( MockDefaultVuidManager . mock . instances [ 0 ] ) ;
46+ expect ( MockDefaultVuidManager . mock . calls [ 0 ] [ 0 ] . vuidCache ) . toBe ( cache ) ;
47+ } ) ;
4248
49+ it ( 'should use a AsyncStorageCache if no cache is provided' , ( ) => {
50+ const manager = createVuidManager ( { enableVuid : true } ) ;
51+ expect ( manager ) . toBe ( MockDefaultVuidManager . mock . instances [ 0 ] ) ;
4352
44- const usedCacheManager = MockDefaultVuidManager . mock . calls [ 0 ] [ 0 ] . vuidCacheManager ;
45- expect ( usedCacheManager ) . toBe ( MockVuidCacheManager . mock . instances [ 0 ] ) ;
46-
47- const usedCache = MockVuidCacheManager . mock . calls [ 0 ] [ 0 ] ;
48- expect ( usedCache ) . toBe ( MockLocalStorageCache . mock . instances [ 0 ] ) ;
53+ const usedCache = MockDefaultVuidManager . mock . calls [ 0 ] [ 0 ] . vuidCache ;
54+ expect ( usedCache ) . toBe ( MockAsyncStorageCache . mock . instances [ 0 ] ) ;
4955 } ) ;
5056
5157 it ( 'should use a single VuidCacheManager instance for all VuidManager instances' , ( ) => {
0 commit comments