mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-01-01 09:03:55 -05:00
49 lines
1.5 KiB
JavaScript
49 lines
1.5 KiB
JavaScript
const parseFixture = require('../../__fixtures__/parse-fixture');
|
|
const getId = require('./get-id');
|
|
|
|
describe('get-id', () => {
|
|
let idNode, imageNode, multipleChildrenNode;
|
|
beforeAll(async () => {
|
|
const withIdNode = await parseFixture('with-id-node.md');
|
|
idNode = withIdNode.children[0];
|
|
imageNode = withIdNode.children[1];
|
|
multipleChildrenNode = withIdNode.children[2];
|
|
});
|
|
it('should return a string', () => {
|
|
expect.assertions(1);
|
|
const actual = getId(idNode);
|
|
expect(typeof actual).toBe('string');
|
|
});
|
|
|
|
it('should get the expected identifier', () => {
|
|
expect.assertions(1);
|
|
const actual = getId(idNode);
|
|
expect(actual).toBe('html-key');
|
|
});
|
|
|
|
it('should return null if the node does contain an id', () => {
|
|
expect.assertions(1);
|
|
const actual = getId(imageNode);
|
|
expect(actual).toBeNull();
|
|
});
|
|
|
|
// TODO: bin this (and the json!) after development (it'll be a silly test
|
|
// once we're using directives)
|
|
it('should ignore image nodes', () => {
|
|
expect.assertions(1);
|
|
const actual = getId(imageNode);
|
|
expect(actual).toBeNull();
|
|
});
|
|
|
|
// TODO: bin this (and the json!) after development (it'll be a silly test
|
|
// once we're using directives)
|
|
|
|
// TODO: do we want to fail silently? Might it be better to output warnings
|
|
// or perhaps even stop the parser? Probably warnings if anything.
|
|
it('should ignore paragraphs that contain more than the id element', () => {
|
|
expect.assertions(1);
|
|
const actual = getId(multipleChildrenNode);
|
|
expect(actual).toBeNull();
|
|
});
|
|
});
|