Search Apps Documentation Source Content File Folder Download Copy Actions Download

member_group_test.gno

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