Skip to content

Commit 57ca4ac

Browse files
committed
fix: resolve type errors in test files
- Add proper type imports for FilterChip and ColumnConfig - Fix FilterChip type to use 'keywords' instead of 'keyword' - Change pageSize values from 20 to 25 (valid PageSize literal) - Add non-null assertions for array accesses in structured-filters tests
1 parent 55052a4 commit 57ca4ac

2 files changed

Lines changed: 30 additions & 29 deletions

File tree

test/nuxt/components.spec.ts

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import type { AxeResults, RunOptions } from 'axe-core'
22
import type { VueWrapper } from '@vue/test-utils'
3+
import type { ColumnConfig, FilterChip } from '#shared/types/preferences'
34
import 'axe-core'
45
import { afterEach, describe, expect, it } from 'vitest'
56
import { mountSuspended } from '@nuxt/test-utils/runtime'
@@ -901,7 +902,7 @@ describe('component accessibility audits', () => {
901902
})
902903

903904
describe('ColumnPicker', () => {
904-
const mockColumns = [
905+
const mockColumns: ColumnConfig[] = [
905906
{ id: 'name', label: 'Name', visible: true, sortable: true },
906907
{ id: 'version', label: 'Version', visible: true, sortable: false },
907908
{ id: 'downloads', label: 'Downloads', visible: false, sortable: true },
@@ -918,9 +919,9 @@ describe('component accessibility audits', () => {
918919

919920
describe('FilterChips', () => {
920921
it('should have no accessibility violations with chips', async () => {
921-
const chips = [
922+
const chips: FilterChip[] = [
922923
{ id: 'text', type: 'text', label: 'Search', value: 'react' },
923-
{ id: 'keyword', type: 'keyword', label: 'Keyword', value: 'hooks' },
924+
{ id: 'keyword', type: 'keywords', label: 'Keyword', value: 'hooks' },
924925
]
925926
const component = await mountSuspended(FilterChips, {
926927
props: { chips },
@@ -981,7 +982,7 @@ describe('component accessibility audits', () => {
981982
keywords: [],
982983
}
983984

984-
const mockColumns = [
985+
const mockColumns: ColumnConfig[] = [
985986
{ id: 'name', label: 'Name', visible: true, sortable: true },
986987
{ id: 'version', label: 'Version', visible: true, sortable: false },
987988
]
@@ -994,7 +995,7 @@ describe('component accessibility audits', () => {
994995
viewMode: 'cards',
995996
columns: mockColumns,
996997
paginationMode: 'infinite',
997-
pageSize: 20,
998+
pageSize: 25,
998999
totalCount: 100,
9991000
filteredCount: 100,
10001001
activeFilters: [],
@@ -1022,7 +1023,7 @@ describe('component accessibility audits', () => {
10221023
},
10231024
]
10241025

1025-
const mockColumns = [
1026+
const mockColumns: ColumnConfig[] = [
10261027
{ id: 'name', label: 'Name', visible: true, sortable: true },
10271028
{ id: 'version', label: 'Version', visible: true, sortable: false },
10281029
{ id: 'description', label: 'Description', visible: true, sortable: false },
@@ -1082,7 +1083,7 @@ describe('component accessibility audits', () => {
10821083
searchScore: 99999,
10831084
}
10841085

1085-
const mockColumns = [
1086+
const mockColumns: ColumnConfig[] = [
10861087
{ id: 'name', label: 'Name', visible: true, sortable: true },
10871088
{ id: 'version', label: 'Version', visible: true, sortable: false },
10881089
{ id: 'description', label: 'Description', visible: true, sortable: false },
@@ -1118,7 +1119,7 @@ describe('component accessibility audits', () => {
11181119
const component = await mountSuspended(PaginationControls, {
11191120
props: {
11201121
mode: 'infinite',
1121-
pageSize: 20,
1122+
pageSize: 25,
11221123
currentPage: 1,
11231124
totalItems: 100,
11241125
},
@@ -1131,7 +1132,7 @@ describe('component accessibility audits', () => {
11311132
const component = await mountSuspended(PaginationControls, {
11321133
props: {
11331134
mode: 'paginated',
1134-
pageSize: 20,
1135+
pageSize: 25,
11351136
currentPage: 1,
11361137
totalItems: 100,
11371138
},

test/nuxt/composables/structured-filters.spec.ts

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ describe('useStructuredFilters', () => {
5252
addKeyword('react')
5353

5454
expect(sortedPackages.value).toHaveLength(1)
55-
expect(sortedPackages.value[0].package.name).toBe('pkg-a')
55+
expect(sortedPackages.value[0]!.package.name).toBe('pkg-a')
5656
})
5757

5858
it('uses AND logic for multiple keywords', () => {
@@ -98,7 +98,7 @@ describe('useStructuredFilters', () => {
9898
setTextFilter('react')
9999

100100
expect(sortedPackages.value).toHaveLength(1)
101-
expect(sortedPackages.value[0].package.name).toBe('react-query')
101+
expect(sortedPackages.value[0]!.package.name).toBe('react-query')
102102
})
103103

104104
it('filters by description when scope is description', () => {
@@ -112,7 +112,7 @@ describe('useStructuredFilters', () => {
112112
setTextFilter('React')
113113

114114
expect(sortedPackages.value).toHaveLength(1)
115-
expect(sortedPackages.value[0].package.name).toBe('pkg-a')
115+
expect(sortedPackages.value[0]!.package.name).toBe('pkg-a')
116116
})
117117

118118
it('filters by keywords when scope is keywords', () => {
@@ -126,7 +126,7 @@ describe('useStructuredFilters', () => {
126126
setTextFilter('type')
127127

128128
expect(sortedPackages.value).toHaveLength(1)
129-
expect(sortedPackages.value[0].package.name).toBe('pkg-a')
129+
expect(sortedPackages.value[0]!.package.name).toBe('pkg-a')
130130
})
131131

132132
it('filters by all fields when scope is all', () => {
@@ -141,7 +141,7 @@ describe('useStructuredFilters', () => {
141141
setTextFilter('search-term')
142142

143143
expect(sortedPackages.value).toHaveLength(1)
144-
expect(sortedPackages.value[0].package.name).toBe('search-term')
144+
expect(sortedPackages.value[0]!.package.name).toBe('search-term')
145145
})
146146
})
147147

@@ -157,7 +157,7 @@ describe('useStructuredFilters', () => {
157157
setTextFilter('name:react')
158158

159159
expect(sortedPackages.value).toHaveLength(1)
160-
expect(sortedPackages.value[0].package.name).toBe('react-query')
160+
expect(sortedPackages.value[0]!.package.name).toBe('react-query')
161161
})
162162

163163
it('parses desc: operator in all scope', () => {
@@ -171,7 +171,7 @@ describe('useStructuredFilters', () => {
171171
setTextFilter('desc:fantastic')
172172

173173
expect(sortedPackages.value).toHaveLength(1)
174-
expect(sortedPackages.value[0].package.name).toBe('pkg-a')
174+
expect(sortedPackages.value[0]!.package.name).toBe('pkg-a')
175175
})
176176

177177
it('parses kw: operator in all scope', () => {
@@ -185,7 +185,7 @@ describe('useStructuredFilters', () => {
185185
setTextFilter('kw:typescript')
186186

187187
expect(sortedPackages.value).toHaveLength(1)
188-
expect(sortedPackages.value[0].package.name).toBe('pkg-a')
188+
expect(sortedPackages.value[0]!.package.name).toBe('pkg-a')
189189
})
190190

191191
it('combines multiple operators with AND logic', () => {
@@ -200,7 +200,7 @@ describe('useStructuredFilters', () => {
200200
setTextFilter('name:react desc:hooks')
201201

202202
expect(sortedPackages.value).toHaveLength(1)
203-
expect(sortedPackages.value[0].package.name).toBe('react-lib')
203+
expect(sortedPackages.value[0]!.package.name).toBe('react-lib')
204204
})
205205

206206
it('handles comma-separated keyword values with OR logic', () => {
@@ -239,7 +239,7 @@ describe('useStructuredFilters', () => {
239239
setTextFilter('name:react fetching')
240240

241241
expect(sortedPackages.value).toHaveLength(1)
242-
expect(sortedPackages.value[0].package.name).toBe('react-query')
242+
expect(sortedPackages.value[0]!.package.name).toBe('react-query')
243243
})
244244
})
245245

@@ -267,7 +267,7 @@ describe('useStructuredFilters', () => {
267267
setDownloadRange('1k-10k')
268268

269269
expect(sortedPackages.value).toHaveLength(1)
270-
expect(sortedPackages.value[0].package.name).toBe('pkg-b')
270+
expect(sortedPackages.value[0]!.package.name).toBe('pkg-b')
271271
})
272272
})
273273

@@ -282,9 +282,9 @@ describe('useStructuredFilters', () => {
282282
const { sortedPackages, setSort } = useStructuredFilters({ packages })
283283
setSort('downloads-week-desc')
284284

285-
expect(sortedPackages.value[0].package.name).toBe('pkg-b')
286-
expect(sortedPackages.value[1].package.name).toBe('pkg-c')
287-
expect(sortedPackages.value[2].package.name).toBe('pkg-a')
285+
expect(sortedPackages.value[0]!.package.name).toBe('pkg-b')
286+
expect(sortedPackages.value[1]!.package.name).toBe('pkg-c')
287+
expect(sortedPackages.value[2]!.package.name).toBe('pkg-a')
288288
})
289289

290290
it('sorts by name ascending', () => {
@@ -297,9 +297,9 @@ describe('useStructuredFilters', () => {
297297
const { sortedPackages, setSort } = useStructuredFilters({ packages })
298298
setSort('name-asc')
299299

300-
expect(sortedPackages.value[0].package.name).toBe('axios')
301-
expect(sortedPackages.value[1].package.name).toBe('lodash')
302-
expect(sortedPackages.value[2].package.name).toBe('zlib')
300+
expect(sortedPackages.value[0]!.package.name).toBe('axios')
301+
expect(sortedPackages.value[1]!.package.name).toBe('lodash')
302+
expect(sortedPackages.value[2]!.package.name).toBe('zlib')
303303
})
304304

305305
it('sorts by updated date descending', () => {
@@ -312,9 +312,9 @@ describe('useStructuredFilters', () => {
312312
const { sortedPackages, setSort } = useStructuredFilters({ packages })
313313
setSort('updated-desc')
314314

315-
expect(sortedPackages.value[0].package.name).toBe('new')
316-
expect(sortedPackages.value[1].package.name).toBe('mid')
317-
expect(sortedPackages.value[2].package.name).toBe('old')
315+
expect(sortedPackages.value[0]!.package.name).toBe('new')
316+
expect(sortedPackages.value[1]!.package.name).toBe('mid')
317+
expect(sortedPackages.value[2]!.package.name).toBe('old')
318318
})
319319
})
320320

0 commit comments

Comments
 (0)