mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-01-28 07:03:17 +08:00
93 lines
2.0 KiB
JavaScript
93 lines
2.0 KiB
JavaScript
|
/* eslint-env jest */
|
||
|
import { imgSnapshotTest } from '../../helpers/util';
|
||
|
|
||
|
describe('Entity Relationship Diagram', () => {
|
||
|
it('should render a simple ER diagram', () => {
|
||
|
imgSnapshotTest(
|
||
|
`
|
||
|
erDiagram
|
||
|
CUSTOMER !-?< ORDER : places
|
||
|
ORDER !-!< LINE-ITEM : contains
|
||
|
`,
|
||
|
{logLevel : 1}
|
||
|
);
|
||
|
cy.get('svg');
|
||
|
});
|
||
|
|
||
|
it('should render an ER diagram with a recursive relationship', () => {
|
||
|
imgSnapshotTest(
|
||
|
`
|
||
|
erDiagram
|
||
|
CUSTOMER !-?< CUSTOMER : refers
|
||
|
CUSTOMER !-?< ORDER : places
|
||
|
ORDER !-!< LINE-ITEM : contains
|
||
|
`,
|
||
|
{logLevel : 1}
|
||
|
);
|
||
|
cy.get('svg');
|
||
|
});
|
||
|
|
||
|
it('should render an ER diagram with multiple relationships between the same two entities', () => {
|
||
|
imgSnapshotTest(
|
||
|
`
|
||
|
erDiagram
|
||
|
CUSTOMER !-!< ADDRESS : "invoiced at"
|
||
|
CUSTOMER !-!< ADDRESS : "receives goods at"
|
||
|
`,
|
||
|
{logLevel : 1}
|
||
|
);
|
||
|
cy.get('svg');
|
||
|
});
|
||
|
|
||
|
it('should render a cyclical ER diagram', () => {
|
||
|
imgSnapshotTest(
|
||
|
`
|
||
|
erDiagram
|
||
|
A !-!< B : likes
|
||
|
B !-!< C : likes
|
||
|
C !-!< A : likes
|
||
|
`,
|
||
|
{logLevel : 1}
|
||
|
);
|
||
|
cy.get('svg');
|
||
|
|
||
|
});
|
||
|
|
||
|
it('should render a not-so-simple ER diagram', () => {
|
||
|
imgSnapshotTest(
|
||
|
`
|
||
|
erDiagram
|
||
|
DELIVERY-ADDRESS !-?< ORDER : receives
|
||
|
CUSTOMER >!-!< DELIVERY-ADDRESS : has
|
||
|
CUSTOMER !-?< ORDER : places
|
||
|
CUSTOMER !-?< INVOICE : "liable for"
|
||
|
INVOICE !-!< ORDER : covers
|
||
|
ORDER !-!< ORDER-ITEM : includes
|
||
|
PRODUCT-CATEGORY !-!< PRODUCT : contains
|
||
|
PRODUCT !-?< ORDER-ITEM : "ordered in"
|
||
|
`,
|
||
|
{logLevel : 1}
|
||
|
);
|
||
|
cy.get('svg');
|
||
|
});
|
||
|
|
||
|
it('should render multiple ER diagrams', () => {
|
||
|
imgSnapshotTest(
|
||
|
[
|
||
|
`
|
||
|
erDiagram
|
||
|
CUSTOMER !-?< ORDER : places
|
||
|
ORDER !-!< LINE-ITEM : contains
|
||
|
`,
|
||
|
`
|
||
|
erDiagram
|
||
|
CUSTOMER !-?< ORDER : places
|
||
|
ORDER !-!< LINE-ITEM : contains
|
||
|
`
|
||
|
],
|
||
|
{logLevel : 1}
|
||
|
);
|
||
|
cy.get('svg');
|
||
|
});
|
||
|
});
|