github.com/hellofresh/janus@v0.0.0-20230925145208-ce8de8183c67/pkg/errors/error_test.go (about) 1 package errors 2 3 import ( 4 errorsBase "errors" 5 6 "net/http" 7 "net/http/httptest" 8 "testing" 9 10 "github.com/stretchr/testify/assert" 11 ) 12 13 func TestErrorWithCustomError(t *testing.T) { 14 w := httptest.NewRecorder() 15 r, _ := http.NewRequest(http.MethodGet, "/hello/test", nil) 16 Handler(w, r, New(http.StatusBadRequest, http.StatusText(http.StatusBadRequest))) 17 18 assert.Equal(t, "application/json", w.Header().Get("Content-Type")) 19 assert.Equal(t, http.StatusBadRequest, w.Code) 20 } 21 22 func TestErrorWithDefaultError(t *testing.T) { 23 w := httptest.NewRecorder() 24 r, _ := http.NewRequest(http.MethodGet, "/hello/test", nil) 25 Handler(w, r, errorsBase.New(http.StatusText(http.StatusBadRequest))) 26 27 assert.Equal(t, "application/json", w.Header().Get("Content-Type")) 28 assert.Equal(t, http.StatusInternalServerError, w.Code) 29 } 30 31 func TestErrorNotFound(t *testing.T) { 32 w := httptest.NewRecorder() 33 r := httptest.NewRequest("GET", "/", nil) 34 NotFound(w, r) 35 36 assert.Equal(t, "application/json", w.Header().Get("Content-Type")) 37 assert.Equal(t, http.StatusNotFound, w.Code) 38 } 39 40 func TestRecovery(t *testing.T) { 41 w := httptest.NewRecorder() 42 r := httptest.NewRequest("GET", "/", nil) 43 RecoveryHandler(w, r, ErrInvalidID) 44 45 assert.Equal(t, "application/json", w.Header().Get("Content-Type")) 46 assert.Equal(t, http.StatusBadRequest, w.Code) 47 }