board_test.gno
1.38 Kb ยท 57 lines
1package boards2
2
3import (
4 "strings"
5 "testing"
6
7 "gno.land/p/nt/testutils"
8 "gno.land/p/nt/uassert"
9)
10
11func TestBoardURL(t *testing.T) {
12 pkgPath := strings.TrimPrefix(string(gRealmLink), "gno.land")
13 name := "foobar_test_get_url123"
14 want := pkgPath + ":" + name
15
16 addr := testutils.TestAddress("creator")
17 perms := createBasicBoardPermissions(addr)
18 board := newBoard(1, name, addr, perms)
19 got := makeBoardURI(board)
20 uassert.Equal(t, want, got)
21}
22
23func TestBoardGetThread(t *testing.T) {
24 addr := testutils.TestAddress("creator")
25 perms := createBasicBoardPermissions(addr)
26 b := newBoard(1, "test123", addr, perms)
27
28 _, ok := b.GetThread(12345)
29 uassert.False(t, ok)
30
31 post := b.AddThread(addr, "foo", "bar")
32 _, ok = b.GetThread(post.ID)
33 uassert.True(t, ok)
34}
35
36func TestBoardDeleteThread(t *testing.T) {
37 addr := testutils.TestAddress("creator")
38 perms := createBasicBoardPermissions(addr)
39 b := newBoard(1, "test123", addr, perms)
40
41 post := b.AddThread(addr, "foo", "bar")
42 b.DeleteThread(post.ID)
43
44 _, ok := b.GetThread(post.ID)
45 uassert.False(t, ok)
46}
47
48func TestBoardGetPostFormURL(t *testing.T) {
49 bid := BoardID(386)
50 addr := testutils.TestAddress("creator")
51 perms := createBasicBoardPermissions(addr)
52 b := newBoard(bid, "foo1234", addr, perms)
53 expect := gRealmLink.Call("CreateThread", "boardID", bid.String(), "title", "", "body", "")
54
55 got := makeCreateThreadURI(b)
56 uassert.Equal(t, expect, got)
57}