any-sync/data/documentstatebuilder_test.go
2022-06-28 15:37:09 +02:00

63 lines
1.6 KiB
Go

package data
import (
"github.com/anytypeio/go-anytype-infrastructure-experiments/data/threadbuilder"
"github.com/anytypeio/go-anytype-infrastructure-experiments/data/threadmodels"
"github.com/stretchr/testify/assert"
"testing"
)
func TestDocumentStateBuilder_UserJoinBuild(t *testing.T) {
thread, err := threadbuilder.NewThreadBuilderFromFile("threadbuilder/userjoinexample.yml")
if err != nil {
t.Fatal(err)
}
keychain := thread.GetKeychain()
ctx, err := createDocumentStateFromThread(
thread,
keychain.GetIdentity("A"),
keychain.EncryptionKeys["A"],
threadmodels.NewEd25519Decoder())
if err != nil {
t.Fatalf("should build acl aclState without err: %v", err)
}
st := ctx.DocState
allIds := make(map[string]bool)
for _, b := range st.Blocks() {
allIds[b.Id] = true
}
if err != nil {
t.Fatalf("iterate should not return error: %v", err)
}
assert.True(t, allIds["root"])
assert.True(t, allIds["first"])
}
func TestDocumentStateBuilder_UserRemoveBuild(t *testing.T) {
thread, err := threadbuilder.NewThreadBuilderFromFile("threadbuilder/userremoveexample.yml")
if err != nil {
t.Fatal(err)
}
keychain := thread.GetKeychain()
ctx, err := createDocumentStateFromThread(
thread,
keychain.GetIdentity("A"),
keychain.EncryptionKeys["A"],
threadmodels.NewEd25519Decoder())
if err != nil {
t.Fatalf("should build acl aclState without err: %v", err)
}
st := ctx.DocState
allIds := make(map[string]bool)
for _, b := range st.Blocks() {
allIds[b.Id] = true
}
if err != nil {
t.Fatalf("iterate should not return error: %v", err)
}
assert.True(t, allIds["root"])
assert.True(t, allIds["second"])
}