From 4ffc2157c39e94e8b0882ef7a92053a5fc8900d9 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Tue, 4 Jun 2024 21:32:16 +0300 Subject: working test for repository load --- internal/server/repository/repository_test.go | 28 +++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) (limited to 'internal/server') diff --git a/internal/server/repository/repository_test.go b/internal/server/repository/repository_test.go index 3db88f8..be135df 100644 --- a/internal/server/repository/repository_test.go +++ b/internal/server/repository/repository_test.go @@ -37,12 +37,32 @@ func TestRepositoryLoad(t *testing.T) { fs := make(vfs.MemoryFS) repo := newRepository("./data", fs) - // TODO: Finish implementing this test entry1, _ := makeAnEntry() - bytes, _ := entry1.Serialize() - _ = repo.fs.WriteFile("./data/foo.json", bytes) + entry2, _ := makeAnotherEntry() + entries := []types.Entry{entry1, entry2} + + // Write entries into the VFS + for _, entry := range entries { + bytes, _ := entry.Serialize() + _ = repo.fs.WriteFile(repo.entryPath(entry), bytes) + } - t.Log(fs) + // Load entries from VFS into the repo + if err := repo.load(); err != nil { + t.Error(err) + } + + for _, entry := range entries { + t.Run(entry.ID, func(t *testing.T) { + entryGot, ok := repo.Get(entry.ID) + if !ok { + t.Errorf("could not find entry with id %s in repo", entry.ID) + } + if !entryGot.Equals(entry) { + t.Error("expected to get", entry, "but got", entryGot) + } + }) + } } func makeAnEntry() (types.Entry, error) { -- cgit v1.2.3