[#3025] manually trigger the OnBeforeServe hook for tests.ApiScenario
This commit is contained in:
parent
6d2677a5e3
commit
f652dc71bb
|
@ -13,6 +13,7 @@ import (
|
||||||
|
|
||||||
"github.com/labstack/echo/v5"
|
"github.com/labstack/echo/v5"
|
||||||
"github.com/pocketbase/pocketbase/apis"
|
"github.com/pocketbase/pocketbase/apis"
|
||||||
|
"github.com/pocketbase/pocketbase/core"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ApiScenario defines a single api request test case/scenario.
|
// ApiScenario defines a single api request test case/scenario.
|
||||||
|
@ -55,6 +56,8 @@ func (scenario *ApiScenario) test(t *testing.T) {
|
||||||
var testApp *TestApp
|
var testApp *TestApp
|
||||||
var testAppErr error
|
var testAppErr error
|
||||||
if scenario.TestAppFactory != nil {
|
if scenario.TestAppFactory != nil {
|
||||||
|
// @todo consider passing the testing instance to the factory and maybe remove the error from the declaration
|
||||||
|
// (see https://github.com/pocketbase/pocketbase/discussions/3025)
|
||||||
testApp, testAppErr = scenario.TestAppFactory()
|
testApp, testAppErr = scenario.TestAppFactory()
|
||||||
} else {
|
} else {
|
||||||
testApp, testAppErr = NewTestApp()
|
testApp, testAppErr = NewTestApp()
|
||||||
|
@ -69,6 +72,12 @@ func (scenario *ApiScenario) test(t *testing.T) {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// manually trigger the serve event to ensure that custom app routes and middlewares are registered
|
||||||
|
testApp.OnBeforeServe().Trigger(&core.ServeEvent{
|
||||||
|
App: testApp,
|
||||||
|
Router: e,
|
||||||
|
})
|
||||||
|
|
||||||
if scenario.BeforeTestFunc != nil {
|
if scenario.BeforeTestFunc != nil {
|
||||||
scenario.BeforeTestFunc(t, testApp, e)
|
scenario.BeforeTestFunc(t, testApp, e)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue