3
0

Fix tree ordering

This commit is contained in:
Tomaž Jerman 2019-10-31 19:15:33 +01:00
parent ea68306872
commit b3cbf47e6f
2 changed files with 33 additions and 0 deletions

View File

@ -152,6 +152,7 @@ func (svc page) Tree(namespaceID uint64) (pages types.PageSet, err error) {
filter = types.PageFilter{
NamespaceID: namespaceID,
IsReadable: svc.ac.FilterReadablePages(svc.ctx),
Sort: "weight ASC",
}
)

View File

@ -27,6 +27,15 @@ func (h helper) repoMakePage(ns *types.Namespace, name string) *types.Page {
return m
}
func (h helper) repoMakeWeightedPage(ns *types.Namespace, name string, weight int) *types.Page {
m, err := h.
repoPage().
Create(&types.Page{Title: name, NamespaceID: ns.ID, Weight: weight})
h.a.NoError(err)
return m
}
func TestPageRead(t *testing.T) {
h := newHelper(t)
@ -179,3 +188,26 @@ func TestPageDelete(t *testing.T) {
m, err := h.repoPage().FindByID(ns.ID, m.ID)
h.a.Error(err, "compose.repository.PageNotFound")
}
func TestPageTreeRead(t *testing.T) {
h := newHelper(t)
h.allow(types.NamespacePermissionResource.AppendWildcard(), "read")
h.allow(types.PagePermissionResource.AppendWildcard(), "read")
ns := h.repoMakeNamespace("some-namespace")
h.repoMakeWeightedPage(ns, "p1", 1)
h.repoMakeWeightedPage(ns, "p4", 4)
h.repoMakeWeightedPage(ns, "p3", 3)
h.repoMakeWeightedPage(ns, "p2", 2)
h.apiInit().
Get(fmt.Sprintf("/namespace/%d/page/tree", ns.ID)).
Expect(t).
Status(http.StatusOK).
Assert(helpers.AssertNoErrors).
Assert(jsonpath.Equal(`$.response[0].title`, "p1")).
Assert(jsonpath.Equal(`$.response[1].title`, "p2")).
Assert(jsonpath.Equal(`$.response[2].title`, "p3")).
Assert(jsonpath.Equal(`$.response[3].title`, "p4")).
End()
}