@@ -96,7 +96,7 @@ beforeEach(async () => {
96
96
describe ( 'invalid user catalog' , ( ) => {
97
97
beforeEach ( async ( ) => {
98
98
vi . mocked ( promises . readFile ) . mockResolvedValue ( 'invalid json' ) ;
99
- catalogManager . init ( ) ;
99
+ await catalogManager . init ( ) ;
100
100
} ) ;
101
101
102
102
test ( 'expect correct model is returned with valid id' , ( ) => {
@@ -116,7 +116,7 @@ describe('invalid user catalog', () => {
116
116
117
117
test ( 'expect correct model is returned from default catalog with valid id when no user catalog exists' , async ( ) => {
118
118
vi . mocked ( existsSync ) . mockReturnValue ( false ) ;
119
- catalogManager . init ( ) ;
119
+ await catalogManager . init ( ) ;
120
120
await vi . waitUntil ( ( ) => catalogManager . getRecipes ( ) . length > 0 ) ;
121
121
122
122
const model = catalogManager . getModelById ( 'llama-2-7b-chat.Q5_K_S' ) ;
@@ -132,7 +132,7 @@ test('expect correct model is returned with valid id when the user catalog is va
132
132
vi . mocked ( existsSync ) . mockReturnValue ( true ) ;
133
133
vi . mocked ( promises . readFile ) . mockResolvedValue ( JSON . stringify ( userContent ) ) ;
134
134
135
- catalogManager . init ( ) ;
135
+ await catalogManager . init ( ) ;
136
136
await vi . waitUntil ( ( ) => catalogManager . getModels ( ) . some ( model => model . id === 'model1' ) ) ;
137
137
138
138
const model = catalogManager . getModelById ( 'model1' ) ;
@@ -146,7 +146,7 @@ test('expect to call writeFile in addLocalModelsToCatalog with catalog updated',
146
146
vi . mocked ( existsSync ) . mockReturnValue ( true ) ;
147
147
vi . mocked ( promises . readFile ) . mockResolvedValue ( JSON . stringify ( userContent ) ) ;
148
148
149
- catalogManager . init ( ) ;
149
+ await catalogManager . init ( ) ;
150
150
await vi . waitUntil ( ( ) => catalogManager . getRecipes ( ) . length > 0 ) ;
151
151
152
152
const mtimeDate = new Date ( '2024-04-03T09:51:15.766Z' ) ;
@@ -174,7 +174,7 @@ test('expect to call writeFile in removeLocalModelFromCatalog with catalog updat
174
174
vi . mocked ( promises . readFile ) . mockResolvedValue ( JSON . stringify ( userContent ) ) ;
175
175
vi . mocked ( path . resolve ) . mockReturnValue ( 'path' ) ;
176
176
177
- catalogManager . init ( ) ;
177
+ await catalogManager . init ( ) ;
178
178
await vi . waitUntil ( ( ) => catalogManager . getRecipes ( ) . length > 0 ) ;
179
179
180
180
vi . mocked ( promises . writeFile ) . mockResolvedValue ( ) ;
@@ -196,7 +196,7 @@ test('catalog should be the combination of user catalog and default catalog', as
196
196
vi . mocked ( promises . readFile ) . mockResolvedValue ( JSON . stringify ( userContent ) ) ;
197
197
vi . mocked ( path . resolve ) . mockReturnValue ( 'path' ) ;
198
198
199
- catalogManager . init ( ) ;
199
+ await catalogManager . init ( ) ;
200
200
await vi . waitUntil ( ( ) => catalogManager . getModels ( ) . length > userContent . models . length ) ;
201
201
202
202
const mtimeDate = new Date ( '2024-04-03T09:51:15.766Z' ) ;
@@ -238,7 +238,7 @@ test('catalog should use user items in favour of default', async () => {
238
238
239
239
vi . mocked ( promises . readFile ) . mockResolvedValue ( JSON . stringify ( overwriteFullCatalog ) ) ;
240
240
241
- catalogManager . init ( ) ;
241
+ await catalogManager . init ( ) ;
242
242
await vi . waitUntil ( ( ) => catalogManager . getModels ( ) . length > 0 ) ;
243
243
244
244
const mtimeDate = new Date ( '2024-04-03T09:51:15.766Z' ) ;
@@ -330,7 +330,7 @@ test('filter recipes by language', async () => {
330
330
vi . mocked ( existsSync ) . mockReturnValue ( true ) ;
331
331
vi . mocked ( promises . readFile ) . mockResolvedValue ( JSON . stringify ( userContent ) ) ;
332
332
333
- catalogManager . init ( ) ;
333
+ await catalogManager . init ( ) ;
334
334
await vi . waitUntil ( ( ) => catalogManager . getModels ( ) . some ( model => model . id === 'model1' ) ) ;
335
335
const result1 = catalogManager . filterRecipes ( {
336
336
languages : [ 'lang1' ] ,
@@ -375,7 +375,7 @@ test('filter recipes by tool', async () => {
375
375
vi . mocked ( existsSync ) . mockReturnValue ( true ) ;
376
376
vi . mocked ( promises . readFile ) . mockResolvedValue ( JSON . stringify ( userContent ) ) ;
377
377
378
- catalogManager . init ( ) ;
378
+ await catalogManager . init ( ) ;
379
379
await vi . waitUntil ( ( ) => catalogManager . getModels ( ) . some ( model => model . id === 'model1' ) ) ;
380
380
381
381
const result1 = catalogManager . filterRecipes ( {
@@ -445,7 +445,7 @@ test('filter recipes by framework', async () => {
445
445
vi . mocked ( existsSync ) . mockReturnValue ( true ) ;
446
446
vi . mocked ( promises . readFile ) . mockResolvedValue ( JSON . stringify ( userContent ) ) ;
447
447
448
- catalogManager . init ( ) ;
448
+ await catalogManager . init ( ) ;
449
449
await vi . waitUntil ( ( ) => catalogManager . getModels ( ) . some ( model => model . id === 'model1' ) ) ;
450
450
451
451
const result1 = catalogManager . filterRecipes ( {
@@ -519,7 +519,7 @@ test('filter recipes by language and framework', async () => {
519
519
vi . mocked ( existsSync ) . mockReturnValue ( true ) ;
520
520
vi . mocked ( promises . readFile ) . mockResolvedValue ( JSON . stringify ( userContent ) ) ;
521
521
522
- catalogManager . init ( ) ;
522
+ await catalogManager . init ( ) ;
523
523
await vi . waitUntil ( ( ) => catalogManager . getModels ( ) . some ( model => model . id === 'model1' ) ) ;
524
524
525
525
const result1 = catalogManager . filterRecipes ( {
@@ -546,7 +546,7 @@ test('filter recipes by language, tool and framework', async () => {
546
546
vi . mocked ( existsSync ) . mockReturnValue ( true ) ;
547
547
vi . mocked ( promises . readFile ) . mockResolvedValue ( JSON . stringify ( userContent ) ) ;
548
548
549
- catalogManager . init ( ) ;
549
+ await catalogManager . init ( ) ;
550
550
await vi . waitUntil ( ( ) => catalogManager . getModels ( ) . some ( model => model . id === 'model1' ) ) ;
551
551
552
552
const result1 = catalogManager . filterRecipes ( {
@@ -567,3 +567,15 @@ test('filter recipes by language, tool and framework', async () => {
567
567
tools : [ { name : 'tool1' , count : 1 } ] ,
568
568
} ) ;
569
569
} ) ;
570
+
571
+ test ( 'models are loaded as soon as init is finished when no user catalog' , async ( ) => {
572
+ await catalogManager . init ( ) ;
573
+ expect ( catalogManager . getModels ( ) ) . toHaveLength ( 3 ) ;
574
+ } ) ;
575
+
576
+ test ( 'models are loaded as soon as init is finished when user catalog exists' , async ( ) => {
577
+ vi . mocked ( promises . readFile ) . mockResolvedValue ( JSON . stringify ( userContent ) ) ;
578
+ vi . mocked ( existsSync ) . mockReturnValue ( true ) ;
579
+ await catalogManager . init ( ) ;
580
+ expect ( catalogManager . getModels ( ) ) . toHaveLength ( 5 ) ;
581
+ } ) ;
0 commit comments