46 lines
1.0 KiB
Go
46 lines
1.0 KiB
Go
package router_test
|
|
|
|
import (
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"testing"
|
|
|
|
"galaxy/model/rest"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
const apiBanishPath = "/api/v1/admin/race/banish"
|
|
|
|
func TestBanishHappyPath(t *testing.T) {
|
|
r := setupRouter()
|
|
|
|
w := httptest.NewRecorder()
|
|
req, _ := http.NewRequest(http.MethodPost, apiBanishPath, asBody(rest.BanishRequest{RaceName: "Aelinari"}))
|
|
r.ServeHTTP(w, req)
|
|
|
|
assert.Equal(t, http.StatusNoContent, w.Code, w.Body)
|
|
assert.Empty(t, w.Body.String())
|
|
}
|
|
|
|
func TestBanishValidation(t *testing.T) {
|
|
r := setupRouter()
|
|
|
|
for _, tc := range []struct {
|
|
description string
|
|
body any
|
|
}{
|
|
{"missing race_name", struct{}{}},
|
|
{"empty race_name", rest.BanishRequest{RaceName: ""}},
|
|
{"blank race_name", rest.BanishRequest{RaceName: " "}},
|
|
} {
|
|
t.Run(tc.description, func(t *testing.T) {
|
|
w := httptest.NewRecorder()
|
|
req, _ := http.NewRequest(http.MethodPost, apiBanishPath, asBody(tc.body))
|
|
r.ServeHTTP(w, req)
|
|
|
|
assert.Equal(t, http.StatusBadRequest, w.Code, w.Body)
|
|
})
|
|
}
|
|
}
|