@@ -16,6 +16,15 @@ vi.mock('$lib/tauri-commands', async () => {
1616} )
1717
1818import { getAiStatus , getAiModelInfo , startAiDownload , cancelAiDownload , dismissAiOffer } from '$lib/tauri-commands'
19+ import {
20+ getAiState ,
21+ initAiState ,
22+ handleDownload ,
23+ handleCancel ,
24+ handleDismiss ,
25+ handleGotIt ,
26+ resetForTesting ,
27+ } from './ai-state.svelte'
1928
2029const mockModelInfo = {
2130 id : 'ministral-3b-instruct-q4km' ,
@@ -29,28 +38,22 @@ const mockModelInfo = {
2938describe ( 'ai-state' , ( ) => {
3039 beforeEach ( ( ) => {
3140 vi . clearAllMocks ( )
32- vi . resetModules ( )
41+ resetForTesting ( )
3342 } )
3443
35- async function loadModule ( ) {
36- return await import ( './ai-state.svelte' )
37- }
38-
3944 describe ( 'getAiState' , ( ) => {
40- it ( 'returns initial hidden state' , async ( ) => {
41- const { getAiState } = await loadModule ( )
45+ it ( 'returns initial hidden state' , ( ) => {
4246 const state = getAiState ( )
4347 expect ( state . notificationState ) . toBe ( 'hidden' )
4448 expect ( state . downloadProgress ) . toBeNull ( )
4549 expect ( state . progressText ) . toBe ( '' )
46- } , 15_000 )
50+ } )
4751 } )
4852
4953 describe ( 'initAiState' , ( ) => {
5054 it ( 'sets offer state when status is offer' , async ( ) => {
5155 vi . mocked ( getAiStatus ) . mockResolvedValue ( 'offer' )
5256 vi . mocked ( getAiModelInfo ) . mockResolvedValue ( mockModelInfo )
53- const { initAiState, getAiState } = await loadModule ( )
5457
5558 await initAiState ( )
5659
@@ -61,7 +64,6 @@ describe('ai-state', () => {
6164 it ( 'stays hidden when status is available' , async ( ) => {
6265 vi . mocked ( getAiStatus ) . mockResolvedValue ( 'available' )
6366 vi . mocked ( getAiModelInfo ) . mockResolvedValue ( mockModelInfo )
64- const { initAiState, getAiState } = await loadModule ( )
6567
6668 await initAiState ( )
6769
@@ -72,7 +74,6 @@ describe('ai-state', () => {
7274 it ( 'stays hidden when status is unavailable' , async ( ) => {
7375 vi . mocked ( getAiStatus ) . mockResolvedValue ( 'unavailable' )
7476 vi . mocked ( getAiModelInfo ) . mockResolvedValue ( mockModelInfo )
75- const { initAiState, getAiState } = await loadModule ( )
7677
7778 await initAiState ( )
7879
@@ -91,7 +92,6 @@ describe('ai-state', () => {
9192 . mockResolvedValueOnce ( unlistenFns [ 3 ] )
9293 . mockResolvedValueOnce ( unlistenFns [ 4 ] )
9394
94- const { initAiState } = await loadModule ( )
9595 const cleanup = await initAiState ( )
9696
9797 expect ( listen ) . toHaveBeenCalledTimes ( 5 )
@@ -114,7 +114,6 @@ describe('ai-state', () => {
114114 vi . mocked ( getAiModelInfo ) . mockResolvedValue ( mockModelInfo )
115115 vi . mocked ( startAiDownload ) . mockResolvedValue ( undefined )
116116
117- const { initAiState, handleDownload, getAiState } = await loadModule ( )
118117 await initAiState ( )
119118
120119 await handleDownload ( )
@@ -129,7 +128,6 @@ describe('ai-state', () => {
129128 vi . mocked ( getAiModelInfo ) . mockResolvedValue ( mockModelInfo )
130129 vi . mocked ( startAiDownload ) . mockRejectedValue ( new Error ( 'Network error' ) )
131130
132- const { initAiState, handleDownload, getAiState } = await loadModule ( )
133131 await initAiState ( )
134132
135133 await handleDownload ( )
@@ -146,7 +144,6 @@ describe('ai-state', () => {
146144 vi . mocked ( getAiModelInfo ) . mockResolvedValue ( mockModelInfo )
147145 vi . mocked ( cancelAiDownload ) . mockResolvedValue ( undefined )
148146
149- const { initAiState, handleCancel, getAiState } = await loadModule ( )
150147 await initAiState ( )
151148
152149 await handleCancel ( )
@@ -164,7 +161,6 @@ describe('ai-state', () => {
164161 vi . mocked ( getAiModelInfo ) . mockResolvedValue ( mockModelInfo )
165162 vi . mocked ( dismissAiOffer ) . mockResolvedValue ( undefined )
166163
167- const { initAiState, handleDismiss, getAiState } = await loadModule ( )
168164 await initAiState ( )
169165 expect ( getAiState ( ) . notificationState ) . toBe ( 'offer' )
170166
@@ -179,7 +175,6 @@ describe('ai-state', () => {
179175 it ( 'hides the notification' , async ( ) => {
180176 vi . mocked ( getAiStatus ) . mockResolvedValue ( 'offer' )
181177 vi . mocked ( getAiModelInfo ) . mockResolvedValue ( mockModelInfo )
182- const { initAiState, handleGotIt, getAiState } = await loadModule ( )
183178 await initAiState ( )
184179
185180 handleGotIt ( )
@@ -200,7 +195,6 @@ describe('ai-state', () => {
200195 return Promise . resolve ( ( ) => { } )
201196 } )
202197
203- const { initAiState, getAiState } = await loadModule ( )
204198 await initAiState ( )
205199
206200 progressCallback ?.( {
@@ -224,7 +218,6 @@ describe('ai-state', () => {
224218 return Promise . resolve ( ( ) => { } )
225219 } )
226220
227- const { initAiState, getAiState } = await loadModule ( )
228221 await initAiState ( )
229222
230223 progressCallback ?.( { payload : { bytesDownloaded : 0 , totalBytes : 0 , speed : 0 , etaSeconds : 0 } } )
@@ -244,7 +237,6 @@ describe('ai-state', () => {
244237 return Promise . resolve ( ( ) => { } )
245238 } )
246239
247- const { initAiState, getAiState } = await loadModule ( )
248240 await initAiState ( )
249241
250242 installingCallback ?.( )
@@ -265,7 +257,6 @@ describe('ai-state', () => {
265257 return Promise . resolve ( ( ) => { } )
266258 } )
267259
268- const { initAiState, getAiState } = await loadModule ( )
269260 await initAiState ( )
270261
271262 completeCallback ?.( )
0 commit comments