package main import ( "testing" "github.com/kataras/iris/v12/httptest" ) func TestDependencyInjectionBasic_Middleware(t *testing.T) { app := newApp() e := httptest.New(t, app) e.POST("/42").WithJSON(testInput{Email: "my_email"}).Expect(). Status(httptest.StatusOK). JSON().Equal(testOutput{ID: 42, Name: "my_email"}) // it should stop the execution at the middleware and return the middleware's status code, // because the error is `ErrStopExecution`. e.POST("/42").WithJSON(testInput{Email: "invalid"}).Expect(). Status(httptest.StatusAccepted).Body().Empty() // it should stop the execution at the middleware and return the error's text. e.POST("/42").WithJSON(testInput{Email: "error"}).Expect(). Status(httptest.StatusConflict).Body().Equal("my_error") }