github.com/lucasscarioca/music-stash@v0.0.0-20230829021135-a8b8893b12a5/internal/routes/middlewares/validateHxRequest_test.go (about)

     1  package middlewares
     2  
     3  import (
     4  	"net/http"
     5  	"net/http/httptest"
     6  	"testing"
     7  
     8  	"github.com/labstack/echo/v4"
     9  	"github.com/stretchr/testify/assert"
    10  )
    11  
    12  func TestInvalidHxRequest(t *testing.T) {
    13  	e := echo.New()
    14  	req := httptest.NewRequest(http.MethodGet, "/hx/time", nil)
    15  	rec := httptest.NewRecorder()
    16  	c := e.NewContext(req, rec)
    17  
    18  	h := ValidateHxRequest(func(c echo.Context) error {
    19  		return c.NoContent(http.StatusOK)
    20  	})
    21  
    22  	err := h(c)
    23  	code := http.StatusInternalServerError
    24  	if err != nil {
    25  		if he, ok := err.(*echo.HTTPError); ok {
    26  			code = he.Code
    27  		}
    28  	}
    29  	assert.Equal(t, http.StatusBadRequest, code)
    30  }