Skip to content

Commit 90e9a97

Browse files
committed
test: add vitest
1 parent 23a7c30 commit 90e9a97

File tree

6 files changed

+590
-31
lines changed

6 files changed

+590
-31
lines changed

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
"lint:prettier:fix": "prettier --write \"./{src,app,scripts}/**/*.{md,mdx,ts,tsx,js,jsx,mjs}\"",
3232
"lint:fix": "yarn run lint:prettier:fix && yarn run lint:eslint:fix",
3333
"sidecar": "yarn spotlight-sidecar",
34-
"test": "jest",
34+
"test": "vitest",
3535
"enforce-redirects": "node ./scripts/no-vercel-json-redirects.mjs"
3636
},
3737
"prisma": {
@@ -128,6 +128,8 @@
128128
"tailwindcss": "^3.4.1",
129129
"ts-node": "^10.9.1",
130130
"typescript": "^5",
131+
"vite-tsconfig-paths": "^5.0.1",
132+
"vitest": "^2.1.1",
131133
"ws": "^8.17.1"
132134
},
133135
"volta": {

src/__tests__/utils.test.js

Lines changed: 0 additions & 24 deletions
This file was deleted.

src/docTree.spec.ts

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import {describe, expect, test} from 'vitest';
2+
3+
import {DocNode, nodeForPath} from './docTree';
4+
5+
const createRootNode = (): DocNode => ({
6+
children: [],
7+
frontmatter: {title: 'Home', slug: 'home'},
8+
missing: false,
9+
path: '/',
10+
slug: '',
11+
sourcePath: '',
12+
});
13+
14+
describe('nodeForPath', () => {
15+
test('should find versioned index doc', () => {
16+
const rootNode = createRootNode();
17+
rootNode.children = [
18+
{
19+
children: [],
20+
frontmatter: {title: 'Guide', slug: 'guide'},
21+
missing: false,
22+
path: 'guide',
23+
slug: 'guide',
24+
sourcePath: 'docs/guide/index.mdx',
25+
},
26+
{
27+
children: [],
28+
frontmatter: {title: 'Guide v2', slug: 'guide__v2'},
29+
missing: false,
30+
path: 'guide__v2',
31+
slug: 'guide__v2',
32+
sourcePath: 'docs/guide/index__v2.mdx',
33+
},
34+
];
35+
36+
const node = nodeForPath(rootNode, 'guide__v2');
37+
expect(node?.sourcePath).toBe('docs/guide/index__v2.mdx');
38+
});
39+
});

src/docTree.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import {getDevDocsFrontMatter, getDocsFrontMatter} from 'sentry-docs/mdx';
2-
31
import {isDeveloperDocs} from './isDeveloperDocs';
2+
import {getDevDocsFrontMatter, getDocsFrontMatter} from './mdx';
43
import {platformsData} from './platformsData';
54
import {
65
FrontMatter,

src/mdx.spec.ts

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import {describe, expect, test} from 'vitest';
2+
3+
import {getVersionedIndexPath} from './mdx';
4+
5+
describe('mdx', () => {
6+
describe('getVersionedIndexPath', () => {
7+
test('returns versioned path', () => {
8+
expect(getVersionedIndexPath('/', 'guide__v2', '.mdx')).toBe(
9+
'/guide/index__v2.mdx'
10+
);
11+
expect(getVersionedIndexPath('/', 'some/path/guide__v2', '.mdx')).toBe(
12+
'/some/path/guide/index__v2.mdx'
13+
);
14+
expect(
15+
getVersionedIndexPath(
16+
'/Users/charlygomez/Desktop/code/sentry-docs',
17+
'docs/platforms/javascript/guides/nextjs/usage__v7.119.0',
18+
'.mdx'
19+
)
20+
).toBe(
21+
'/Users/charlygomez/Desktop/code/sentry-docs/docs/platforms/javascript/guides/nextjs/usage/index__v7.119.0.mdx'
22+
);
23+
});
24+
test('returns invalid path for non versioned files', () => {
25+
expect(getVersionedIndexPath('/', 'guide', '.mdx')).toBe('/does/not/exist.mdx');
26+
expect(getVersionedIndexPath('/', 'some/path/guide', '.mdx')).toBe(
27+
'/does/not/exist.mdx'
28+
);
29+
});
30+
});
31+
});

0 commit comments

Comments
 (0)