repository_test.go (1175B)
1 package main 2 3 import ( 4 "testing" 5 ) 6 7 func TestSave(t *testing.T) { 8 rootPath := setUp() 9 t.Cleanup(func() { tearDown(rootPath) }) 10 timeContext := NewTimeToday() 11 repository := NewFSRepository(rootPath) 12 13 t.Run("save single entry", func(t *testing.T) { 14 group := NewGroup("test") 15 entry := createEntry(timeContext, "10:00", "11:00") 16 17 err := repository.Save(group, entry) 18 if err != nil { 19 t.Error(err) 20 } 21 22 if !repository.ExistsEntry(group, entry) { 23 t.Error(err) 24 } 25 }) 26 27 t.Run("save single entry", func(t *testing.T) { 28 group := NewGroup("test") 29 30 for _, entry := range []Entry{ 31 createEntry(timeContext, "10:00", "11:00"), 32 createEntry(timeContext, "11:00", "12:00"), 33 createEntry(timeContext, "13:00", "14:00"), 34 } { 35 err := repository.Save(group, entry) 36 if err != nil { 37 t.Error(err) 38 } 39 } 40 41 list, _ := repository.ListEntries(group, timeContext) 42 43 if len(list) != 3 { 44 t.Error("Expected 3 entries") 45 } 46 }) 47 } 48 49 func createEntry(timeContext *TimeContext, s string, st string) Entry { 50 start, _ := timeContext.ParseArgDir(s, false) 51 stop, _ := timeContext.ParseArgDir(st, true) 52 entry, _ := NewCompletedEntry(start, stop) 53 return entry 54 }