Skip to content

Commit 83102e3

Browse files
committed
Update use-compare-replacements.spec.ts
1 parent d6f4b0b commit 83102e3

1 file changed

Lines changed: 28 additions & 20 deletions

File tree

test/nuxt/composables/use-compare-replacements.spec.ts

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,17 @@ describe('useCompareReplacements', () => {
5151
vi.fn().mockImplementation((url: string) => {
5252
if (url.includes('/api/replacements/array-includes')) {
5353
return Promise.resolve({
54-
id: 'array-includes',
54+
id: 'Array.prototype.includes',
5555
type: 'native',
56-
url: { type: 'mdn', id: 'Global_Objects/Array/includes' },
57-
engines: [{ engine: 'nodejs', minVersion: '6.0.0' }],
58-
nodeFeatureId: {
59-
moduleName: 'Array.prototype.includes',
56+
url: {
57+
type: 'mdn',
58+
id: 'Web/JavaScript/Reference/Global_Objects/Array/includes',
59+
},
60+
webFeatureId: {
61+
featureId: 'array-includes',
62+
compatKey: 'javascript.builtins.Array.includes',
6063
},
64+
engines: [{ engine: 'nodejs', minVersion: '6.0.0' }],
6165
} satisfies ModuleReplacement)
6266
}
6367
return Promise.resolve(null)
@@ -72,7 +76,6 @@ describe('useCompareReplacements', () => {
7276
expect(noDepSuggestions.value).toHaveLength(1)
7377
})
7478

75-
// Note: forPackage likely maps to the 'id' in the new schema or the original query
7679
expect(noDepSuggestions.value[0]?.forPackage).toBe('array-includes')
7780
expect(noDepSuggestions.value[0]?.replacement.type).toBe('native')
7881
expect(infoSuggestions.value).toHaveLength(0)
@@ -84,9 +87,10 @@ describe('useCompareReplacements', () => {
8487
vi.fn().mockImplementation((url: string) => {
8588
if (url.includes('/api/replacements/is-even')) {
8689
return Promise.resolve({
87-
id: 'is-even',
90+
id: 'snippet::is-even',
8891
type: 'simple',
89-
description: 'Use (n % 2) === 0',
92+
description: 'You can use the modulo operator to check if a number is even.',
93+
example: '(n % 2) === 0',
9094
} satisfies ModuleReplacement)
9195
}
9296
return Promise.resolve(null)
@@ -103,7 +107,7 @@ describe('useCompareReplacements', () => {
103107

104108
expect(noDepSuggestions.value[0]?.forPackage).toBe('is-even')
105109
expect(noDepSuggestions.value[0]?.replacement.type).toBe('simple')
106-
expect(infoSuggestions.value).toHaveLength(0)
110+
expect(noDepSuggestions.value[0]?.replacement.example).toBe('(n % 2) === 0')
107111
})
108112

109113
it('categorizes documented replacements as info suggestions', async () => {
@@ -112,11 +116,10 @@ describe('useCompareReplacements', () => {
112116
vi.fn().mockImplementation((url: string) => {
113117
if (url.includes('/api/replacements/moment')) {
114118
return Promise.resolve({
115-
id: 'moment',
119+
id: 'date-fns',
116120
type: 'documented',
117-
url: 'https://momentjs.com/docs/#/use-it/built-in-alternatives/',
121+
url: { type: 'e18e', id: 'moment' },
118122
replacementModule: 'date-fns',
119-
preferred: true,
120123
} satisfies ModuleReplacement)
121124
}
122125
return Promise.resolve(null)
@@ -142,24 +145,28 @@ describe('useCompareReplacements', () => {
142145
vi.fn().mockImplementation((url: string) => {
143146
if (url.includes('/api/replacements/is-odd')) {
144147
return Promise.resolve({
145-
id: 'is-odd',
148+
id: 'snippet::is-odd',
146149
type: 'simple',
147-
description: 'Use (n % 2) !== 0',
150+
description: 'Check if odd',
151+
example: '(n % 2) !== 0',
148152
} satisfies ModuleReplacement)
149153
}
150154
if (url.includes('/api/replacements/lodash')) {
151155
return Promise.resolve({
152-
id: 'lodash',
156+
id: 'native',
153157
type: 'documented',
154-
url: 'https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore',
158+
url: { type: 'e18e', id: 'lodash' },
155159
replacementModule: 'native',
156160
} satisfies ModuleReplacement)
157161
}
158162
if (url.includes('/api/replacements/array-map')) {
159163
return Promise.resolve({
160-
id: 'array-map',
164+
id: 'Array.prototype.map',
161165
type: 'native',
162-
url: { type: 'mdn', id: 'Global_Objects/Array/map' },
166+
url: {
167+
type: 'mdn',
168+
id: 'Web/JavaScript/Reference/Global_Objects/Array/map',
169+
},
163170
engines: [{ engine: 'nodejs', minVersion: '0.10.0' }],
164171
} satisfies ModuleReplacement)
165172
}
@@ -224,9 +231,10 @@ describe('useCompareReplacements', () => {
224231
const fetchMock = vi.fn().mockImplementation((url: string) => {
225232
if (url.includes('/api/replacements/is-even')) {
226233
return Promise.resolve({
227-
id: 'is-even',
234+
id: 'snippet::is-even',
228235
type: 'simple',
229-
description: 'Use (n % 2) === 0',
236+
description: 'Check even',
237+
example: '(n % 2) === 0',
230238
} satisfies ModuleReplacement)
231239
}
232240
return Promise.resolve(null)

0 commit comments

Comments
 (0)