Son CV dans un terminal web en Javascript!
https://terminal-cv.gregandev.fr
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.2 KiB
43 lines
1.2 KiB
2 years ago
|
// @flow strict-local
|
||
|
|
||
|
import assert from 'assert';
|
||
|
import ContentGraph from '../src/ContentGraph';
|
||
|
|
||
|
describe('ContentGraph', () => {
|
||
|
it('should addNodeByContentKey if no node exists with the content key', () => {
|
||
|
let graph = new ContentGraph();
|
||
|
|
||
|
const node = {};
|
||
|
|
||
|
const nodeId1 = graph.addNodeByContentKey('contentKey', node);
|
||
|
|
||
|
assert.deepEqual(graph.getNode(nodeId1), node);
|
||
|
assert(graph.hasContentKey('contentKey'));
|
||
|
assert.deepEqual(graph.getNodeByContentKey('contentKey'), node);
|
||
|
});
|
||
|
|
||
|
it('should throw if a node with the content key already exists', () => {
|
||
|
let graph = new ContentGraph();
|
||
|
|
||
|
graph.addNodeByContentKey('contentKey', {});
|
||
|
|
||
|
assert.throws(() => {
|
||
|
graph.addNodeByContentKey('contentKey', {});
|
||
|
}, /already has content key/);
|
||
|
});
|
||
|
|
||
|
it('should remove the content key from graph when node is removed', () => {
|
||
|
let graph = new ContentGraph();
|
||
|
|
||
|
const node1 = {};
|
||
|
const nodeId1 = graph.addNodeByContentKey('contentKey', node1);
|
||
|
|
||
|
assert.equal(graph.getNode(nodeId1), node1);
|
||
|
assert(graph.hasContentKey('contentKey'));
|
||
|
|
||
|
graph.removeNode(nodeId1);
|
||
|
|
||
|
assert(!graph.hasContentKey('contentKey'));
|
||
|
});
|
||
|
});
|