loci_test.gno

1.14 Kb ยท 40 lines
 1package loci
 2
 3import (
 4	"std"
 5	"testing"
 6
 7	"gno.land/p/demo/testutils"
 8)
 9
10func TestLociStore(t *testing.T) {
11	t.Run("TestSet", func(t *testing.T) {
12		testing.SetRealm(std.NewCodeRealm("gno.land/r/test/test"))
13		caller := std.PreviousRealm()
14		store := New()
15		// Ensure that the value is nil before setting it.
16		if r1 := store.Get(caller.Address()); r1 != nil {
17			t.Errorf("expected value to be nil, got '%s'", r1)
18		}
19		store.Set([]byte("hello"))
20		if r2 := store.Get(caller.Address()); string(r2) != "hello" {
21			t.Errorf("expected value to be 'hello', got '%s'", r2)
22		}
23		store.Set([]byte("world"))
24		if r3 := store.Get(caller.Address()); string(r3) != "world" {
25			t.Errorf("expected value to be 'world', got '%s'", r3)
26		}
27	})
28	t.Run("TestGet", func(t *testing.T) {
29		testing.SetRealm(std.NewCodeRealm("gno.land/r/test/test"))
30		caller := std.PreviousRealm()
31		store := New()
32		store.Set([]byte("hello"))
33		if r0 := store.Get(testutils.TestAddress("nil_user")); r0 != nil {
34			t.Errorf("expected value to be nil, got '%s'", r0)
35		}
36		if r1 := store.Get(caller.Address()); string(r1) != "hello" {
37			t.Errorf("expected value to be 'hello', got '%s'", r1)
38		}
39	})
40}