Skip to content

Commit 4b4685d

Browse files
committed
a11y
1 parent c1b67a9 commit 4b4685d

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
@@ -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
139154
import {
@@ -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

Comments
 (0)