diff --git a/app_test.go b/app_test.go index e6395e3d..3593d31c 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