Merge branch 'master' of personal.github.com:BBVA/kapow

This commit is contained in:
César Gallego Rodríguez
2019-10-09 10:27:46 +02:00
3 changed files with 36 additions and 3 deletions
+3 -3
View File
@@ -38,12 +38,12 @@ func removeRoute(http.ResponseWriter, *http.Request) {
} }
} }
// user.Routes.Snapshot() []model.Route // user.Routes.List() []model.Route
var funcSnapshot func() []model.Route = user.Routes.Snapshot var funcList func() []model.Route = user.Routes.List
func listRoutes(http.ResponseWriter, *http.Request) { func listRoutes(http.ResponseWriter, *http.Request) {
funcSnapshot() funcList()
} }
+8
View File
@@ -35,3 +35,11 @@ func (srl *safeRouteList) Snapshot() []model.Route {
copy(rs, srl.rs) copy(rs, srl.rs)
return rs return rs
} }
func (srl *safeRouteList) List() []model.Route {
rs := srl.Snapshot()
for i := 0; i < len(rs); i++ {
rs[i].Index = i
}
return rs
}
+25
View File
@@ -165,3 +165,28 @@ func TestAppendReturnsTheInsertedRoutedWithTheActualIndexWhenPopulated(t *testin
t.Errorf("Index of the returned route is not the last one, i.e., 41, but %d", r.Index) t.Errorf("Index of the returned route is not the last one, i.e., 41, but %d", r.Index)
} }
} }
func TestListReturnsTheSameNumberOfRoutesThanSnapshot(t *testing.T) {
srl := New()
srl.Append(model.Route{ID: "FOO"})
if len(srl.List()) != len(srl.Snapshot()) {
t.Error("The number of routes returned is not correct")
}
}
func TestListReturnsANumberedListOfRoutes(t *testing.T) {
srl := New()
for i := 0; i < 42; i++ {
srl.Append(model.Route{})
}
l := srl.List()
for i, r := range l {
if i != r.Index {
t.Fatalf("Route is correctly numbered. Got %v, expected %v", r.Index, i)
}
}
}