-
Notifications
You must be signed in to change notification settings - Fork 0
/
app_test.go
82 lines (64 loc) · 1.53 KB
/
app_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
package pneuma
import (
"os"
"testing"
"github.com/gkampitakis/go-snaps/snaps"
"github.com/samber/lo"
"github.com/stretchr/testify/assert"
)
type MockCompFoo struct{}
func (u MockCompFoo) Render(ctx *PneumaContext) *RenderResult {
return ctx.RenderString(u, "foo")
}
type MockCompBar struct{}
func (u MockCompBar) Render(ctx *PneumaContext) *RenderResult {
return ctx.RenderString(u, "bar")
}
func MockNewBar() Component {
return MockCompBar{}
}
func TestPneumaApp(t *testing.T) {
app, err := NewApp(
WithComponent[MockCompFoo](),
)
assert.Nil(t, err)
envDev := os.Getenv("DEV")
assert.Equal(t, lo.Ternary(envDev == "1" || envDev == "true", true, false), app.dev)
assert.Equal(t, "127.0.0.1", app.host)
assert.Equal(t, getDefaultPort(), app.port)
assert.Equal(t, "_pneuma", app.prefix)
assert.Len(t, app.componentRecords, 1)
}
func TestPneumaAppWithDev(t *testing.T) {
app, _ := NewApp(
WithDev(true),
)
assert.Equal(t, true, app.dev)
}
func TestPneumaAppWithHost(t *testing.T) {
app, err := NewApp(
WithHost("0.0.0.0"),
)
assert.Nil(t, err)
assert.Equal(t, "0.0.0.0", app.host)
}
func TestPneumaAppWithPort(t *testing.T) {
app, err := NewApp(
WithPort(11297),
)
assert.Nil(t, err)
assert.Equal(t, 11297, app.port)
}
func TestPneumaAppWithPrefix(t *testing.T) {
app, err := NewApp(
WithPrefix("_test"),
)
assert.Nil(t, err)
assert.Equal(t, "_test", app.prefix)
}
func TestMain(m *testing.M) {
v := m.Run()
// After all tests have run `go-snaps` can check for unused snapshots
snaps.Clean(m)
os.Exit(v)
}