type enforcement unit tests
This commit is contained in:
+19
-1
@@ -397,9 +397,27 @@ describe('compute', () => {
|
||||
};
|
||||
|
||||
test('no nodes', () => {
|
||||
const nodes = placing({diagonals: false}).compute({}, []);
|
||||
const nodes = placing().compute({}, []);
|
||||
expect(nodes).toEqual({});
|
||||
});
|
||||
test('invalid node', () => {
|
||||
try {
|
||||
placing().compute({
|
||||
'a': {name: 'a', x: 'hello'}
|
||||
}, []);
|
||||
fail('no error thrown');
|
||||
} catch (err) {
|
||||
expect(err).toBe('node \'a\' is invalid at key x');
|
||||
}
|
||||
});
|
||||
test('invalid link', () => {
|
||||
try {
|
||||
placing().compute({}, [{from: 'a', to: 5}]);
|
||||
fail('no error thrown');
|
||||
} catch (err) {
|
||||
expect(err).toBe('link 0 (a->5) is invalid at key to');
|
||||
}
|
||||
});
|
||||
test('3 nodes no link', () => {
|
||||
const nodes = placing({diagonals: false}).compute(createNodes(3), []);
|
||||
expect(nodes).toEqual({
|
||||
|
||||
@@ -124,4 +124,22 @@ describe('compute', () => {
|
||||
const res = rendering({beautify: true, 'h-spacing': 1.2, scale: 20}).compute({}, []);
|
||||
expect(res).toEqual('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0">\n</svg>');
|
||||
});
|
||||
test('invalid node', () => {
|
||||
try {
|
||||
rendering().compute({
|
||||
'a': {name: 'a', icon: 5}
|
||||
}, []);
|
||||
fail('no error thrown');
|
||||
} catch (err) {
|
||||
expect(err).toBe('node \'a\' is invalid at key icon');
|
||||
}
|
||||
});
|
||||
test('invalid link', () => {
|
||||
try {
|
||||
rendering().compute({}, [{from: 'a', to: 'b', type: 5}]);
|
||||
fail('no error thrown');
|
||||
} catch (err) {
|
||||
expect(err).toBe('link 0 (a->b) is invalid at key type');
|
||||
}
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user