@@ -16,7 +16,7 @@ vi.mock('fast-npm-meta', async importOriginal => {
1616 }
1717} )
1818
19- // Phase 2: full metadata (loaded on first group expand )
19+ // Phase 2: full metadata (fired automatically after phase 1 completes )
2020const mockFetchAllPackageVersions = vi . fn ( )
2121vi . mock ( '~/utils/npm/api' , async importOriginal => {
2222 const actual = await importOriginal < typeof NpmApi > ( )
@@ -52,6 +52,7 @@ describe('package versions page', () => {
5252 beforeEach ( ( ) => {
5353 mockGetVersions . mockReset ( )
5454 mockFetchAllPackageVersions . mockReset ( )
55+ mockFetchAllPackageVersions . mockResolvedValue ( [ ] )
5556 clearNuxtData ( )
5657 } )
5758
@@ -140,23 +141,16 @@ describe('package versions page', () => {
140141 } )
141142 } )
142143
143- it ( 'only fetches full metadata once across multiple group expansions ' , async ( ) => {
144+ it ( 'fetches full metadata automatically after phase 1 completes, exactly once ' , async ( ) => {
144145 mockGetVersions . mockResolvedValue ( makeVersionData ( [ '2.0.0' , '1.0.0' ] , { latest : '2.0.0' } ) )
145146 mockFetchAllPackageVersions . mockResolvedValue ( [
146147 { version : '2.0.0' , time : '2024-01-15T00:00:00.000Z' , hasProvenance : false } ,
147148 { version : '1.0.0' , time : '2024-01-10T00:00:00.000Z' , hasProvenance : false } ,
148149 ] )
149- const component = await mountPage ( )
150- await vi . waitFor ( ( ) => {
151- expect ( component . findAll ( 'button[aria-expanded="false"]' ) . length ) . toBeGreaterThanOrEqual ( 2 )
152- } )
153150
154- const [ first , second ] = component . findAll ( 'button[aria-expanded="false"]' )
155- await first ! . trigger ( 'click' )
156- await vi . waitFor ( ( ) => expect ( mockFetchAllPackageVersions ) . toHaveBeenCalledTimes ( 1 ) )
151+ await mountPage ( )
157152
158- await second ! . trigger ( 'click' )
159- expect ( mockFetchAllPackageVersions ) . toHaveBeenCalledTimes ( 1 )
153+ await vi . waitFor ( ( ) => expect ( mockFetchAllPackageVersions ) . toHaveBeenCalledTimes ( 1 ) )
160154 } )
161155 } )
162156
@@ -173,7 +167,7 @@ describe('package versions page', () => {
173167 expect ( component . text ( ) ) . toContain ( '3.x' )
174168 } )
175169
176- const input = component . find ( 'input[placeholder="Filter versions\u2026 "]' )
170+ const input = component . find ( 'input[autocomplete="off "]' )
177171 await input . setValue ( '1.0' )
178172
179173 await vi . waitFor ( ( ) => {
0 commit comments