member_group_test.gno
1.01 Kb ยท 37 lines
1package commondao
2
3import (
4 "testing"
5
6 "gno.land/p/nt/uassert"
7 "gno.land/p/nt/urequire"
8)
9
10func TestMemberGroupNew(t *testing.T) {
11 g, err := NewMemberGroup("", nil)
12 urequire.ErrorContains(t, err, "member storage is required")
13
14 storage := NewMemberStorage()
15 g, err = NewMemberGroup("", storage)
16 urequire.ErrorContains(t, err, "member group name is required")
17
18 name := "Tier 1"
19 g, err = NewMemberGroup(name, storage)
20 urequire.NoError(t, err, "expect no error")
21 uassert.Equal(t, name, g.Name(), "expect group name to match")
22 uassert.NotNil(t, g.Members(), "expect members to be not nil")
23 uassert.Nil(t, g.GetMeta(), "expect default group meta to be nil")
24}
25
26func TestMemberGroupMeta(t *testing.T) {
27 g, err := NewMemberGroup("Test", NewMemberStorage())
28 urequire.NoError(t, err, "expect no error")
29
30 g.SetMeta(42)
31 v := g.GetMeta()
32 urequire.NotEqual(t, nil, v, "expect metadata to be not nil")
33
34 meta, ok := v.(int)
35 urequire.True(t, ok, "expect meta type to be int")
36 uassert.Equal(t, 42, meta, "expect metadata to match")
37}