collab/mermaid/cypress/integration/rendering/architecture.spec.tsblame
View source
6dd74de1import { imgSnapshotTest, urlSnapshotTest } from '../../helpers/util.ts';
6dd74de2
6dd74de3describe.skip('architecture diagram', () => {
6dd74de4 it('should render a simple architecture diagram with groups', () => {
6dd74de5 imgSnapshotTest(
6dd74de6 `architecture-beta
6dd74de7 group api(cloud)[API]
6dd74de8
6dd74de9 service db(database)[Database] in api
6dd74de10 service disk1(disk)[Storage] in api
6dd74de11 service disk2(disk)[Storage] in api
6dd74de12 service server(server)[Server] in api
6dd74de13 service gateway(internet)[Gateway]
6dd74de14
6dd74de15 db L--R server
6dd74de16 disk1 T--B server
6dd74de17 disk2 T--B db
6dd74de18 server T--B gateway
6dd74de19 `
6dd74de20 );
6dd74de21 });
6dd74de22 it('should render a simple architecture diagram with titleAndAccessibilities', () => {
6dd74de23 imgSnapshotTest(
6dd74de24 `architecture-beta
6dd74de25 title Simple Architecture Diagram
6dd74de26 accTitle: Accessibility Title
6dd74de27 accDescr: Accessibility Description
6dd74de28 group api(cloud)[API]
6dd74de29
6dd74de30 service db(database)[Database] in api
6dd74de31 service disk1(disk)[Storage] in api
6dd74de32 service disk2(disk)[Storage] in api
6dd74de33 service server(server)[Server] in api
6dd74de34
6dd74de35 db:L -- R:server
6dd74de36 disk1:T -- B:server
6dd74de37 disk2:T -- B:db
6dd74de38 `
6dd74de39 );
6dd74de40 });
6dd74de41 it('should render an architecture diagram with groups within groups', () => {
6dd74de42 imgSnapshotTest(
6dd74de43 `architecture-beta
6dd74de44 group api[API]
6dd74de45 group public[Public API] in api
6dd74de46 group private[Private API] in api
6dd74de47
6dd74de48 service serv1(server)[Server] in public
6dd74de49
6dd74de50 service serv2(server)[Server] in private
6dd74de51 service db(database)[Database] in private
6dd74de52
6dd74de53 service gateway(internet)[Gateway] in api
6dd74de54
6dd74de55 serv1 B--T serv2
6dd74de56 serv2 L--R db
6dd74de57 serv1 L--R gateway
6dd74de58 `
6dd74de59 );
6dd74de60 });
6dd74de61 it('should render an architecture diagram with the fallback icon', () => {
6dd74de62 imgSnapshotTest(
6dd74de63 `architecture-beta
6dd74de64 service unknown(iconnamedoesntexist)[Unknown Icon]
6dd74de65 `
6dd74de66 );
6dd74de67 });
6dd74de68 it('should render an architecture diagram with split directioning', () => {
6dd74de69 imgSnapshotTest(
6dd74de70 `architecture-beta
6dd74de71 service db(database)[Database]
6dd74de72 service s3(disk)[Storage]
6dd74de73 service serv1(server)[Server 1]
6dd74de74 service serv2(server)[Server 2]
6dd74de75 service disk(disk)[Disk]
6dd74de76
6dd74de77 db L--R s3
6dd74de78 serv1 L--T s3
6dd74de79 serv2 L--B s3
6dd74de80 serv1 T--B disk
6dd74de81 `
6dd74de82 );
6dd74de83 });
6dd74de84 it('should render an architecture diagram with directional arrows', () => {
6dd74de85 imgSnapshotTest(
6dd74de86 `architecture-beta
6dd74de87 service servC(server)[Server 1]
6dd74de88 service servL(server)[Server 2]
6dd74de89 service servR(server)[Server 3]
6dd74de90 service servT(server)[Server 4]
6dd74de91 service servB(server)[Server 5]
6dd74de92
6dd74de93 servC (L--R) servL
6dd74de94 servC (R--L) servR
6dd74de95 servC (T--B) servT
6dd74de96 servC (B--T) servB
6dd74de97
6dd74de98 servL (T--L) servT
6dd74de99 servL (B--L) servB
6dd74de100 servR (T--R) servT
6dd74de101 servR (B--R) servB
6dd74de102 `
6dd74de103 );
6dd74de104 });
6dd74de105 it('should render an architecture diagram with group edges', () => {
6dd74de106 imgSnapshotTest(
6dd74de107 `architecture-beta
6dd74de108 group left_group(cloud)[Left]
6dd74de109 group right_group(cloud)[Right]
6dd74de110 group top_group(cloud)[Top]
6dd74de111 group bottom_group(cloud)[Bottom]
6dd74de112 group center_group(cloud)[Center]
6dd74de113
6dd74de114 service left_disk(disk)[Disk] in left_group
6dd74de115 service right_disk(disk)[Disk] in right_group
6dd74de116 service top_disk(disk)[Disk] in top_group
6dd74de117 service bottom_disk(disk)[Disk] in bottom_group
6dd74de118 service center_disk(disk)[Disk] in center_group
6dd74de119
6dd74de120 left_disk{group} (R--L) center_disk{group}
6dd74de121 right_disk{group} (L--R) center_disk{group}
6dd74de122 top_disk{group} (B--T) center_disk{group}
6dd74de123 bottom_disk{group} (T--B) center_disk{group}
6dd74de124 `
6dd74de125 );
6dd74de126 });
6dd74de127 it('should render an architecture diagram with edge labels', () => {
6dd74de128 imgSnapshotTest(
6dd74de129 `architecture-beta
6dd74de130 service servC(server)[Server 1]
6dd74de131 service servL(server)[Server 2]
6dd74de132 service servR(server)[Server 3]
6dd74de133 service servT(server)[Server 4]
6dd74de134 service servB(server)[Server 5]
6dd74de135
6dd74de136 servC L-[Label]-R servL
6dd74de137 servC R-[Label]-L servR
6dd74de138 servC T-[Label]-B servT
6dd74de139 servC B-[Label]-T servB
6dd74de140
6dd74de141 servL T-[Label]-L servT
6dd74de142 servL B-[Label]-L servB
6dd74de143 servR T-[Label]-R servT
6dd74de144 servR B-[Label]-R servB
6dd74de145 `
6dd74de146 );
6dd74de147 });
6dd74de148 it('should render an architecture diagram with simple junction edges', () => {
6dd74de149 imgSnapshotTest(
6dd74de150 `architecture-beta
6dd74de151 service left_disk(disk)[Disk]
6dd74de152 service top_disk(disk)[Disk]
6dd74de153 service bottom_disk(disk)[Disk]
6dd74de154 service top_gateway(internet)[Gateway]
6dd74de155 service bottom_gateway(internet)[Gateway]
6dd74de156 junction juncC
6dd74de157 junction juncR
6dd74de158
6dd74de159 left_disk R--L juncC
6dd74de160 top_disk B--T juncC
6dd74de161 bottom_disk T--B juncC
6dd74de162 juncC R--L juncR
6dd74de163 top_gateway B--T juncR
6dd74de164 bottom_gateway T--B juncR
6dd74de165 `
6dd74de166 );
6dd74de167 });
6dd74de168 it('should render an architecture diagram with complex junction edges', () => {
6dd74de169 imgSnapshotTest(
6dd74de170 `architecture-beta
6dd74de171 group left
6dd74de172 group right
6dd74de173 service left_disk(disk)[Disk] in left
6dd74de174 service top_disk(disk)[Disk] in left
6dd74de175 service bottom_disk(disk)[Disk] in left
6dd74de176 service top_gateway(internet)[Gateway] in right
6dd74de177 service bottom_gateway(internet)[Gateway] in right
6dd74de178 junction juncC in left
6dd74de179 junction juncR in right
6dd74de180
6dd74de181 left_disk R--L juncC
6dd74de182 top_disk B--T juncC
6dd74de183 bottom_disk T--B juncC
6dd74de184
6dd74de185
6dd74de186 top_gateway (B--T juncR
6dd74de187 bottom_gateway (T--B juncR
6dd74de188
6dd74de189 juncC{group} R--L) juncR{group}
6dd74de190 `
6dd74de191 );
6dd74de192 });
6dd74de193
6dd74de194 it('should render an architecture diagram with a reasonable height', () => {
6dd74de195 imgSnapshotTest(
6dd74de196 `architecture-beta
6dd74de197 group federated(cloud)[Federated Environment]
6dd74de198 service server1(server)[System] in federated
6dd74de199 service edge(server)[Edge Device] in federated
6dd74de200 server1:R -- L:edge
6dd74de201
6dd74de202 group on_prem(cloud)[Hub]
6dd74de203 service firewall(server)[Firewall Device] in on_prem
6dd74de204 service server(server)[Server] in on_prem
6dd74de205 firewall:R -- L:server
6dd74de206
6dd74de207 service db1(database)[db1] in on_prem
6dd74de208 service db2(database)[db2] in on_prem
6dd74de209 service db3(database)[db3] in on_prem
6dd74de210 service db4(database)[db4] in on_prem
6dd74de211 service db5(database)[db5] in on_prem
6dd74de212 service db6(database)[db6] in on_prem
6dd74de213
6dd74de214 junction mid in on_prem
6dd74de215 server:B -- T:mid
6dd74de216
6dd74de217 junction 1Leftofmid in on_prem
6dd74de218 1Leftofmid:R -- L:mid
6dd74de219 1Leftofmid:B -- T:db1
6dd74de220
6dd74de221 junction 2Leftofmid in on_prem
6dd74de222 2Leftofmid:R -- L:1Leftofmid
6dd74de223 2Leftofmid:B -- T:db2
6dd74de224
6dd74de225 junction 3Leftofmid in on_prem
6dd74de226 3Leftofmid:R -- L:2Leftofmid
6dd74de227 3Leftofmid:B -- T:db3
6dd74de228
6dd74de229 junction 1RightOfMid in on_prem
6dd74de230 mid:R -- L:1RightOfMid
6dd74de231 1RightOfMid:B -- T:db4
6dd74de232
6dd74de233 junction 2RightOfMid in on_prem
6dd74de234 1RightOfMid:R -- L:2RightOfMid
6dd74de235 2RightOfMid:B -- T:db5
6dd74de236
6dd74de237 junction 3RightOfMid in on_prem
6dd74de238 2RightOfMid:R -- L:3RightOfMid
6dd74de239 3RightOfMid:B -- T:db6
6dd74de240
6dd74de241 edge:R -- L:firewall
6dd74de242 `
6dd74de243 );
6dd74de244 });
6dd74de245});
6dd74de246
6dd74de247// Skipped as the layout is not deterministic, and causes issues in E2E tests.
6dd74de248describe.skip('architecture - external', () => {
6dd74de249 it('should allow adding external icons', () => {
6dd74de250 urlSnapshotTest('/architecture-external.html');
6dd74de251 });
6dd74de252});