Skip to content

Commit ef2185c

Browse files
committed
a11y
1 parent 9c8e6c2 commit ef2185c

1 file changed

Lines changed: 155 additions & 0 deletions

File tree

test/nuxt/a11y.spec.ts

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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
138153
import {
@@ -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

Comments
 (0)