@@ -133,6 +133,21 @@ vi.mock('~/composables/useCanGoBack', () => {
133133 }
134134} )
135135
136+ vi . mock ( '~/composables/npm/usePackageSize' , ( ) => {
137+ return {
138+ usePackageDependencySizes : ( ) =>
139+ shallowRef ( {
140+ data : ref ( { } ) ,
141+ status : ref ( 'success' ) ,
142+ } ) ,
143+ usePackageSize : ( ) =>
144+ shallowRef ( {
145+ data : ref ( { } ) ,
146+ status : ref ( 'success' ) ,
147+ } ) ,
148+ }
149+ } )
150+
136151// Import components from #components where possible
137152// For server/client variants, we need to import directly to test the specific variant
138153import {
@@ -251,6 +266,10 @@ import {
251266 PackageSelectionView ,
252267 PackageSelectionCheckbox ,
253268 PackageExternalLinks ,
269+ PackageSizeBar ,
270+ PackageSizeCard ,
271+ PackageSizeList ,
272+ PackageSizeTable ,
254273 ChartSplitSparkline ,
255274 TabRoot ,
256275 TabList ,
@@ -4108,6 +4127,142 @@ describe('component accessibility audits', () => {
41084127 } )
41094128 } )
41104129
4130+ describe ( 'PackageSizeBar' , ( ) => {
4131+ it ( 'should have no accessibility violations' , async ( ) => {
4132+ const component = await mountSuspended ( PackageSizeBar , {
4133+ props : {
4134+ packageName : 'vue' ,
4135+ version : '3.0.0' ,
4136+ packageSize : {
4137+ package : 'vue' ,
4138+ version : '3.0.0' ,
4139+ selfSize : 1000 ,
4140+ totalSize : 5000 ,
4141+ dependencyCount : 10 ,
4142+ dependencies : [
4143+ {
4144+ name : 'dep1' ,
4145+ version : '1.0.0' ,
4146+ size : 500 ,
4147+ tarballUrl : 'https://example.com/dep1.tgz' ,
4148+ totalSize : 500 ,
4149+ dependencyCount : 0 ,
4150+ } ,
4151+ ] ,
4152+ } ,
4153+ } ,
4154+ } )
4155+ const results = await runAxe ( component )
4156+ expect ( results . violations ) . toEqual ( [ ] )
4157+ } )
4158+ } )
4159+
4160+ describe ( 'PackageSizeCard' , ( ) => {
4161+ it ( 'should have no accessibility violations' , async ( ) => {
4162+ const component = await mountSuspended ( PackageSizeCard , {
4163+ props : {
4164+ entry : {
4165+ name : 'vue' ,
4166+ version : '3.0.0' ,
4167+ selfSize : 1000 ,
4168+ totalSize : 5000 ,
4169+ depCount : 10 ,
4170+ percentage : 20 ,
4171+ } ,
4172+ } ,
4173+ } )
4174+ const results = await runAxe ( component )
4175+ expect ( results . violations ) . toEqual ( [ ] )
4176+ } )
4177+ } )
4178+
4179+ describe ( 'PackageSizeList' , ( ) => {
4180+ it ( 'should have no accessibility violations in card view' , async ( ) => {
4181+ const component = await mountSuspended ( PackageSizeList , {
4182+ props : {
4183+ entries : [
4184+ {
4185+ name : 'dep1' ,
4186+ version : '1.0.0' ,
4187+ selfSize : 500 ,
4188+ totalSize : 500 ,
4189+ depCount : 0 ,
4190+ percentage : 50 ,
4191+ } ,
4192+ {
4193+ name : 'dep2' ,
4194+ version : '2.0.0' ,
4195+ selfSize : 500 ,
4196+ totalSize : 500 ,
4197+ depCount : 0 ,
4198+ percentage : 50 ,
4199+ } ,
4200+ ] ,
4201+ viewMode : 'cards' ,
4202+ } ,
4203+ } )
4204+ const results = await runAxe ( component )
4205+ expect ( results . violations ) . toEqual ( [ ] )
4206+ } )
4207+
4208+ it ( 'should have no accessibility violations in table view' , async ( ) => {
4209+ const component = await mountSuspended ( PackageSizeList , {
4210+ props : {
4211+ entries : [
4212+ {
4213+ name : 'dep1' ,
4214+ version : '1.0.0' ,
4215+ selfSize : 500 ,
4216+ totalSize : 500 ,
4217+ depCount : 0 ,
4218+ percentage : 50 ,
4219+ } ,
4220+ {
4221+ name : 'dep2' ,
4222+ version : '2.0.0' ,
4223+ selfSize : 500 ,
4224+ totalSize : 500 ,
4225+ depCount : 0 ,
4226+ percentage : 50 ,
4227+ } ,
4228+ ] ,
4229+ viewMode : 'table' ,
4230+ } ,
4231+ } )
4232+ const results = await runAxe ( component )
4233+ expect ( results . violations ) . toEqual ( [ ] )
4234+ } )
4235+ } )
4236+
4237+ describe ( 'PackageSizeTable' , ( ) => {
4238+ it ( 'should have no accessibility violations' , async ( ) => {
4239+ const component = await mountSuspended ( PackageSizeTable , {
4240+ props : {
4241+ entries : [
4242+ {
4243+ name : 'dep1' ,
4244+ version : '1.0.0' ,
4245+ selfSize : 500 ,
4246+ totalSize : 500 ,
4247+ depCount : 0 ,
4248+ percentage : 50 ,
4249+ } ,
4250+ {
4251+ name : 'dep2' ,
4252+ version : '2.0.0' ,
4253+ selfSize : 500 ,
4254+ totalSize : 500 ,
4255+ depCount : 0 ,
4256+ percentage : 50 ,
4257+ } ,
4258+ ] ,
4259+ } ,
4260+ } )
4261+ const results = await runAxe ( component )
4262+ expect ( results . violations ) . toEqual ( [ ] )
4263+ } )
4264+ } )
4265+
41114266 describe ( 'ProgressBar' , ( ) => {
41124267 it ( 'should have no accessibility violations' , async ( ) => {
41134268 const component = await mountSuspended ( ProgressBar , {
0 commit comments