Skip to content

Commit cf61013

Browse files
committed
fix: add unit tests
1 parent c1b9dea commit cf61013

2 files changed

Lines changed: 36 additions & 3 deletions

File tree

app/utils/frameworks.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
export type ShowcasedFramework = {
2+
name: string
3+
package: string
4+
color: string
5+
}
6+
17
export const SHOWCASED_FRAMEWORKS = [
28
{
39
name: 'nuxt',
@@ -47,12 +53,12 @@ export const SHOWCASED_FRAMEWORKS = [
4753
},
4854
]
4955

50-
export type ShowcasedFramework = (typeof SHOWCASED_FRAMEWORKS)[number]['package']
56+
export type FrameworkPackageName = (typeof SHOWCASED_FRAMEWORKS)[number]['package']
5157

52-
export function getFrameworkColor(framework: ShowcasedFramework): string {
58+
export function getFrameworkColor(framework: FrameworkPackageName): string {
5359
return SHOWCASED_FRAMEWORKS.find(f => f.package === framework)!.color
5460
}
5561

56-
export function isListedFramework(name: string): name is ShowcasedFramework {
62+
export function isListedFramework(name: string): name is FrameworkPackageName {
5763
return SHOWCASED_FRAMEWORKS.some(f => f.package === name)
5864
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import { describe, expect, it } from 'vitest'
2+
import {
3+
SHOWCASED_FRAMEWORKS,
4+
getFrameworkColor,
5+
isListedFramework,
6+
type ShowcasedFramework,
7+
} from '../../../../app/utils/frameworks'
8+
9+
describe('getFrameworkColor', () => {
10+
it('returns the color a listed framework', () => {
11+
SHOWCASED_FRAMEWORKS.forEach((framework: ShowcasedFramework) => {
12+
expect(getFrameworkColor(framework.package)).toBe(framework.color)
13+
})
14+
})
15+
})
16+
17+
describe('isListedFramework', () => {
18+
it('returns true for a listed framework', () => {
19+
SHOWCASED_FRAMEWORKS.forEach((framework: ShowcasedFramework) => {
20+
expect(isListedFramework(framework.package)).toBe(true)
21+
})
22+
})
23+
24+
it('returns false for non listed frameworks', () => {
25+
expect(isListedFramework('leftpad')).toBe(false)
26+
})
27+
})

0 commit comments

Comments
 (0)