-
Notifications
You must be signed in to change notification settings - Fork 0
/
group.test.ts
39 lines (34 loc) · 890 Bytes
/
group.test.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import { getAllFiles } from "./files";
import { resolve, join } from "path";
import { getAllMetaData } from "./parse";
import groupBy from "./group";
test("group files by attributes", async () => {
expect.assertions(1);
const testPath = resolve("./test");
const files = await getAllFiles(testPath, [], true);
const meta = await getAllMetaData(files);
const groups = groupBy(meta);
const f1 = join(testPath, "202.py");
const f2 = join(testPath, "412.py");
expect(groups).toEqual({
title: {
"Happy Number": [f1],
"Fizz Buzz": [f2],
},
links: {
"https://leetcode.com/problems/happy-number/": [f1],
"https://leetcode.com/problems/fizz-buzz/": [f2],
},
number: {
"202": [f1],
"412": [f2],
},
difficulty: {
easy: [f1, f2],
},
tags: {
"fizz buzz": [f2],
modulus: [f2],
},
});
});