forked from freeCodeCamp/freeCodeCamp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathget-step-template.test.ts
57 lines (44 loc) · 1.04 KB
/
get-step-template.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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import ObjectID from 'bson-objectid';
import { getStepTemplate } from './get-step-template';
// Note: evaluates at highlevel the process, but seedHeads and seedTails could
// be tested if more specifics are needed.
describe('getStepTemplate util', () => {
it('should be able to create a markdown', () => {
const baseOutput = `---
id: 60d4ebe4801158d1abe1b18f
title: Step 5
challengeType: 0
dashedName: step-5
---
# --description--
step 5 instructions
# --hints--
Test 1
\`\`\`js
\`\`\`
# --seed--
## --seed-contents--
\`\`\`html
--fcc-editable-region--
--fcc-editable-region--
\`\`\`\n`;
const props = {
challengeId: new ObjectID('60d4ebe4801158d1abe1b18f'),
challengeSeeds: {
indexhtml: {
contents: '',
editableRegionBoundaries: [0, 2],
ext: 'html',
head: '',
id: '',
key: 'indexhtml',
name: 'index',
tail: ''
}
},
stepNum: 5,
challengeType: 0
};
expect(getStepTemplate(props)).toEqual(baseOutput);
});
});