summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2024-06-04 21:32:16 +0300
committerPaul Buetow <paul@buetow.org>2024-06-04 21:32:16 +0300
commit4ffc2157c39e94e8b0882ef7a92053a5fc8900d9 (patch)
treee9df212e6aa1bae55d7c92dc1cc0b814fa2c74ab
parent76a98c26a3c8963a7eb5ab99cc479ba49e7730d8 (diff)
working test for repository load
-rw-r--r--internal/server/repository/repository_test.go28
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) {