* feat: allow more 1000 steps to be created at once * refactor: start migrating to typescript * refactor: delete-step to ts * refactor: migrated some helpers * refactor: migrate create-empty-steps * refactor: migrate create-step-between * refactor: finish migrating to TS * refactor: migrate tests * fix: ensure mock.restore is done after each test * fix: prevent double-tscing * fix: repair the tests * chore: use ts-node for scripts We don't need the performance boost of incremental compilation and ts-node is easier to work with * refactor: consolidate tsconfigs * refactor: replace gulp * fix: use ts-node for build-curriculum * fix: allow ts compilation of config * feat: create and use create:config script * fix: add /config to eslint projects * fix: remove gulp script
58 lines
1.0 KiB
TypeScript
58 lines
1.0 KiB
TypeScript
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: ''
|
|
}
|
|
},
|
|
stepBetween: false,
|
|
stepNum: 5
|
|
};
|
|
|
|
expect(getStepTemplate(props)).toEqual(baseOutput);
|
|
});
|
|
});
|