d2/e2etests/themes_test.go

135 lines
2 KiB
Go
Raw Normal View History

2023-03-14 17:40:52 +00:00
package e2etests
import (
_ "embed"
"testing"
"oss.terrastruct.com/d2/d2themes/d2themescatalog"
)
func testThemes(t *testing.T) {
tcs := []testCase{
{
name: "terminal",
themeID: d2themescatalog.Terminal.ID,
script: `
network: {
cell tower: {
satellites: {
shape: stored_data
style.multiple: true
}
transmitter
satellites -> transmitter: send
satellites -> transmitter: send
satellites -> transmitter: send
}
online portal: {
ui: { shape: hexagon }
}
data processor: {
storage: {
shape: cylinder
style.multiple: true
}
}
cell tower.transmitter -> data processor.storage: phone logs
}
user: {
shape: person
width: 130
}
user -> network.cell tower: make call
user -> network.online portal.ui: access {
style.stroke-dash: 3
}
api server -> network.online portal.ui: display
api server -> logs: persist
logs: { shape: page; style.multiple: true }
2023-03-16 05:53:12 +00:00
network.data processor -> api server
2023-03-16 20:01:58 +00:00
users: {
shape: sql_table
id: int
name: string
email: string
password: string
last_login: datetime
}
products: {
shape: class
id: int
price: decimal
sku: string
name: string
}
markdown: |md
# A tale
- of
- two cities
|
2023-03-16 05:53:12 +00:00
`,
},
{
name: "terminal_grayscale",
themeID: d2themescatalog.TerminalGrayscale.ID,
script: `
network: {
cell tower: {
satellites: {
shape: stored_data
style.multiple: true
}
transmitter
satellites -> transmitter: send
satellites -> transmitter: send
satellites -> transmitter: send
}
online portal: {
ui: { shape: hexagon }
}
data processor: {
storage: {
shape: cylinder
style.multiple: true
}
}
cell tower.transmitter -> data processor.storage: phone logs
}
user: {
shape: person
width: 130
}
user -> network.cell tower: make call
user -> network.online portal.ui: access {
style.stroke-dash: 3
}
api server -> network.online portal.ui: display
api server -> logs: persist
logs: { shape: page; style.multiple: true }
2023-03-14 17:40:52 +00:00
network.data processor -> api server
`,
},
}
runa(t, tcs)
}