diff options
| author | Paul Buetow <paul@buetow.org> | 2024-06-04 21:32:16 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2024-06-04 21:32:16 +0300 |
| commit | 4ffc2157c39e94e8b0882ef7a92053a5fc8900d9 (patch) | |
| tree | e9df212e6aa1bae55d7c92dc1cc0b814fa2c74ab | |
| parent | 76a98c26a3c8963a7eb5ab99cc479ba49e7730d8 (diff) | |
working test for repository load
| -rw-r--r-- | internal/server/repository/repository_test.go | 28 |
1 files changed, 24 insertions, 4 deletions
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) { |
