Skip to content

Commit 7e86b0c

Browse files
committed
add subtask test
Signed-off-by: shmck <[email protected]>
1 parent 71e9c79 commit 7e86b0c

File tree

1 file changed

+70
-8
lines changed

1 file changed

+70
-8
lines changed

tests/parse.test.ts

+70-8
Original file line numberDiff line numberDiff line change
@@ -541,7 +541,6 @@ The first step
541541
files: ["someFile.js"],
542542
watchers: ["someFile.js"],
543543
filter: "someFilter",
544-
subtasks: true,
545544
},
546545
solution: {
547546
commands: ["npm install"],
@@ -579,7 +578,6 @@ The first step
579578
files: ["someFile.js"],
580579
watchers: ["someFile.js"],
581580
filter: "someFilter",
582-
subtasks: true,
583581
},
584582
solution: {
585583
commits: ["1gfedcba", "987654321"],
@@ -631,7 +629,6 @@ The third step
631629
files: ["someFile.js"],
632630
watchers: ["someFile.js"],
633631
filter: "someFilter",
634-
subtasks: true,
635632
},
636633
solution: {
637634
commands: ["npm install"],
@@ -645,7 +642,6 @@ The third step
645642
files: ["someFile.js"],
646643
watchers: ["someFile.js"],
647644
filter: "someFilter",
648-
subtasks: true,
649645
},
650646
solution: {
651647
commands: ["npm install"],
@@ -666,7 +662,6 @@ The third step
666662
files: ["someFile.js"],
667663
watchers: ["someFile.js"],
668664
filter: "someFilter",
669-
subtasks: true,
670665
},
671666
solution: {
672667
commands: ["npm install"],
@@ -709,7 +704,6 @@ The third step
709704
files: ["someFile.js"],
710705
watchers: ["someFile.js"],
711706
filter: "someFilter",
712-
subtasks: true,
713707
},
714708
solution: {
715709
commits: ["1fedcba", "987654321"],
@@ -726,7 +720,6 @@ The third step
726720
files: ["someFile.js"],
727721
watchers: ["someFile.js"],
728722
filter: "someFilter",
729-
subtasks: true,
730723
},
731724
solution: {
732725
commits: ["3abcdef"],
@@ -751,7 +744,6 @@ The third step
751744
files: ["someFile.js"],
752745
watchers: ["someFile.js"],
753746
filter: "someFilter",
754-
subtasks: true,
755747
},
756748
solution: {
757749
commits: ["5abcdef"],
@@ -1419,4 +1411,74 @@ The second uninterrupted step
14191411
expect(result.levels[0]).toEqual(expected.levels[0]);
14201412
});
14211413
});
1414+
describe("subtasks", () => {
1415+
it("should parse subtasks", () => {
1416+
const md = `# Subtask Demo
1417+
1418+
A demo demonstrating how to use subtasks
1419+
1420+
## 1. Subtask Example
1421+
1422+
A subtask example
1423+
1424+
### 1.1
1425+
1426+
Create a function \`add\` that can take a variety of params.
1427+
1428+
#### SUBTASKS
1429+
1430+
- Add one number
1431+
- Add two numbers
1432+
- Add three numbers`;
1433+
const skeleton = {
1434+
levels: [
1435+
{
1436+
id: "1",
1437+
steps: [
1438+
{
1439+
id: "1.1",
1440+
},
1441+
],
1442+
},
1443+
],
1444+
};
1445+
const expected = {
1446+
levels: [
1447+
{
1448+
id: "1",
1449+
title: "Subtask Example",
1450+
summary: "A subtask example",
1451+
content: "A subtask example",
1452+
steps: [
1453+
{
1454+
id: "1.1",
1455+
setup: {
1456+
subtasks: [
1457+
"Add one number",
1458+
"Add two numbers",
1459+
"Add three numbers",
1460+
],
1461+
commits: ["abcdef1"],
1462+
},
1463+
content:
1464+
"Create a function `add` that can take a variety of params.",
1465+
solution: {
1466+
commits: ["abcdef2"],
1467+
},
1468+
},
1469+
],
1470+
},
1471+
],
1472+
};
1473+
const result = parse({
1474+
text: md,
1475+
skeleton,
1476+
commits: {
1477+
"1.1:T": ["abcdef1"],
1478+
"1.1:S": ["abcdef2"],
1479+
},
1480+
});
1481+
expect(result.levels).toEqual(expected.levels);
1482+
});
1483+
});
14221484
});

0 commit comments

Comments
 (0)