From 839c8f14473185dcd88b10b083bc32e4f2a09a3f Mon Sep 17 00:00:00 2001 From: kiyon Date: Sun, 4 Oct 2020 00:36:11 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=91=B7=20fix=20group.Mount?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app_test.go | 16 ++++++++++++++++ group.go | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/app_test.go b/app_test.go index 3c80a058..45bf1529 100644 --- a/app_test.go +++ b/app_test.go @@ -736,6 +736,22 @@ func Test_App_Group_Invalid(t *testing.T) { New().Group("/").Use(1) } +// go test -run Test_App_Group_Mount +func Test_App_Group_Mount(t *testing.T) { + micro := New() + micro.Get("/doe", func(c *Ctx) error { + return c.SendStatus(StatusOK) + }) + + app := New() + v1 := app.Group("/v1") + v1.Mount("/john", micro) + + resp, err := app.Test(httptest.NewRequest("GET", "/v1/john/doe", nil)) + utils.AssertEqual(t, nil, err, "app.Test(req)") + utils.AssertEqual(t, 200, resp.StatusCode, "Status code") +} + func Test_App_Group(t *testing.T) { var dummyHandler = testEmptyHandler diff --git a/group.go b/group.go index 6191e991..a3b10e4a 100644 --- a/group.go +++ b/group.go @@ -23,7 +23,7 @@ func (grp *Group) Mount(prefix string, fiber *App) Router { for m := range stack { for r := range stack[m] { route := grp.app.copyRoute(stack[m][r]) - grp.app.addRoute(route.Method, grp.app.addPrefixToRoute(prefix, route)) + grp.app.addRoute(route.Method, grp.app.addPrefixToRoute(getGroupPath(grp.prefix, prefix), route)) } } return grp