@@ -134,6 +134,21 @@ vi.mock('~/composables/useCanGoBack', () => {
134134 }
135135} )
136136
137+ vi . mock ( '~/composables/npm/usePackageSize' , ( ) => {
138+ return {
139+ usePackageDependencySizes : ( ) =>
140+ shallowRef ( {
141+ data : ref ( { } ) ,
142+ status : ref ( 'success' ) ,
143+ } ) ,
144+ usePackageSize : ( ) =>
145+ shallowRef ( {
146+ data : ref ( { } ) ,
147+ status : ref ( 'success' ) ,
148+ } ) ,
149+ }
150+ } )
151+
137152// Import components from #components where possible
138153// For server/client variants, we need to import directly to test the specific variant
139154import {
@@ -252,6 +267,10 @@ import {
252267 PackageSelectionView ,
253268 PackageSelectionCheckbox ,
254269 PackageExternalLinks ,
270+ PackageSizeBar ,
271+ PackageSizeCard ,
272+ PackageSizeList ,
273+ PackageSizeTable ,
255274 ChartSplitSparkline ,
256275 TabRoot ,
257276 TabList ,
@@ -4246,6 +4265,142 @@ describe('component accessibility audits', () => {
42464265 } )
42474266 } )
42484267
4268+ describe ( 'PackageSizeBar' , ( ) => {
4269+ it ( 'should have no accessibility violations' , async ( ) => {
4270+ const component = await mountSuspended ( PackageSizeBar , {
4271+ props : {
4272+ packageName : 'vue' ,
4273+ version : '3.0.0' ,
4274+ packageSize : {
4275+ package : 'vue' ,
4276+ version : '3.0.0' ,
4277+ selfSize : 1000 ,
4278+ totalSize : 5000 ,
4279+ dependencyCount : 10 ,
4280+ dependencies : [
4281+ {
4282+ name : 'dep1' ,
4283+ version : '1.0.0' ,
4284+ size : 500 ,
4285+ tarballUrl : 'https://example.com/dep1.tgz' ,
4286+ totalSize : 500 ,
4287+ dependencyCount : 0 ,
4288+ } ,
4289+ ] ,
4290+ } ,
4291+ } ,
4292+ } )
4293+ const results = await runAxe ( component )
4294+ expect ( results . violations ) . toEqual ( [ ] )
4295+ } )
4296+ } )
4297+
4298+ describe ( 'PackageSizeCard' , ( ) => {
4299+ it ( 'should have no accessibility violations' , async ( ) => {
4300+ const component = await mountSuspended ( PackageSizeCard , {
4301+ props : {
4302+ entry : {
4303+ name : 'vue' ,
4304+ version : '3.0.0' ,
4305+ selfSize : 1000 ,
4306+ totalSize : 5000 ,
4307+ depCount : 10 ,
4308+ percentage : 20 ,
4309+ } ,
4310+ } ,
4311+ } )
4312+ const results = await runAxe ( component )
4313+ expect ( results . violations ) . toEqual ( [ ] )
4314+ } )
4315+ } )
4316+
4317+ describe ( 'PackageSizeList' , ( ) => {
4318+ it ( 'should have no accessibility violations in card view' , async ( ) => {
4319+ const component = await mountSuspended ( PackageSizeList , {
4320+ props : {
4321+ entries : [
4322+ {
4323+ name : 'dep1' ,
4324+ version : '1.0.0' ,
4325+ selfSize : 500 ,
4326+ totalSize : 500 ,
4327+ depCount : 0 ,
4328+ percentage : 50 ,
4329+ } ,
4330+ {
4331+ name : 'dep2' ,
4332+ version : '2.0.0' ,
4333+ selfSize : 500 ,
4334+ totalSize : 500 ,
4335+ depCount : 0 ,
4336+ percentage : 50 ,
4337+ } ,
4338+ ] ,
4339+ viewMode : 'cards' ,
4340+ } ,
4341+ } )
4342+ const results = await runAxe ( component )
4343+ expect ( results . violations ) . toEqual ( [ ] )
4344+ } )
4345+
4346+ it ( 'should have no accessibility violations in table view' , async ( ) => {
4347+ const component = await mountSuspended ( PackageSizeList , {
4348+ props : {
4349+ entries : [
4350+ {
4351+ name : 'dep1' ,
4352+ version : '1.0.0' ,
4353+ selfSize : 500 ,
4354+ totalSize : 500 ,
4355+ depCount : 0 ,
4356+ percentage : 50 ,
4357+ } ,
4358+ {
4359+ name : 'dep2' ,
4360+ version : '2.0.0' ,
4361+ selfSize : 500 ,
4362+ totalSize : 500 ,
4363+ depCount : 0 ,
4364+ percentage : 50 ,
4365+ } ,
4366+ ] ,
4367+ viewMode : 'table' ,
4368+ } ,
4369+ } )
4370+ const results = await runAxe ( component )
4371+ expect ( results . violations ) . toEqual ( [ ] )
4372+ } )
4373+ } )
4374+
4375+ describe ( 'PackageSizeTable' , ( ) => {
4376+ it ( 'should have no accessibility violations' , async ( ) => {
4377+ const component = await mountSuspended ( PackageSizeTable , {
4378+ props : {
4379+ entries : [
4380+ {
4381+ name : 'dep1' ,
4382+ version : '1.0.0' ,
4383+ selfSize : 500 ,
4384+ totalSize : 500 ,
4385+ depCount : 0 ,
4386+ percentage : 50 ,
4387+ } ,
4388+ {
4389+ name : 'dep2' ,
4390+ version : '2.0.0' ,
4391+ selfSize : 500 ,
4392+ totalSize : 500 ,
4393+ depCount : 0 ,
4394+ percentage : 50 ,
4395+ } ,
4396+ ] ,
4397+ } ,
4398+ } )
4399+ const results = await runAxe ( component )
4400+ expect ( results . violations ) . toEqual ( [ ] )
4401+ } )
4402+ } )
4403+
42494404 describe ( 'ProgressBar' , ( ) => {
42504405 it ( 'should have no accessibility violations' , async ( ) => {
42514406 const component = await mountSuspended ( ProgressBar , {
0 commit comments