refactor: api tests
This commit is contained in:
parent
eb2c19cc8a
commit
660fee7ddc
|
@ -1349,7 +1349,7 @@ func TestGetPlayer(t *testing.T) {
|
|||
t.Parallel()
|
||||
|
||||
handler := newAPIHTTPHandler(t)
|
||||
player := randPlayer(t, handler)
|
||||
player := randSliceElement(getAllPlayers(t, handler))
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
|
@ -1563,9 +1563,3 @@ func getAllPlayers(tb testing.TB, h http.Handler) []playerWithServer {
|
|||
|
||||
return players
|
||||
}
|
||||
|
||||
func randPlayer(tb testing.TB, h http.Handler) playerWithServer {
|
||||
tb.Helper()
|
||||
players := getAllPlayers(tb, h)
|
||||
return players[gofakeit.IntRange(0, len(players)-1)]
|
||||
}
|
||||
|
|
|
@ -441,7 +441,7 @@ func TestGetServer(t *testing.T) {
|
|||
t.Parallel()
|
||||
|
||||
handler := newAPIHTTPHandler(t)
|
||||
server := randServer(t, handler)
|
||||
server := randSliceElement(getAllServers(t, handler))
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
|
@ -582,7 +582,7 @@ func TestGetServerConfig(t *testing.T) {
|
|||
t.Parallel()
|
||||
|
||||
handler := newAPIHTTPHandler(t)
|
||||
server := randServer(t, handler)
|
||||
server := randSliceElement(getAllServers(t, handler))
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
|
@ -689,7 +689,7 @@ func TestGetServerUnitInfo(t *testing.T) {
|
|||
t.Parallel()
|
||||
|
||||
handler := newAPIHTTPHandler(t)
|
||||
server := randServer(t, handler)
|
||||
server := randSliceElement(getAllServers(t, handler))
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
|
@ -796,7 +796,7 @@ func TestGetServerBuildingInfo(t *testing.T) {
|
|||
t.Parallel()
|
||||
|
||||
handler := newAPIHTTPHandler(t)
|
||||
server := randServer(t, handler)
|
||||
server := randSliceElement(getAllServers(t, handler))
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
|
@ -905,15 +905,11 @@ type serverWithVersion struct {
|
|||
func getAllServers(tb testing.TB, h http.Handler) []serverWithVersion {
|
||||
tb.Helper()
|
||||
|
||||
respVersions := doRequest(h, http.MethodGet, endpointListVersions, nil)
|
||||
defer respVersions.Body.Close()
|
||||
require.Equal(tb, http.StatusOK, respVersions.StatusCode)
|
||||
bodyVersions := decodeJSON[apimodel.ListVersionsResponse](tb, respVersions.Body)
|
||||
require.NotEmpty(tb, bodyVersions.Data)
|
||||
versions := getAllVersions(tb, h)
|
||||
|
||||
var servers []serverWithVersion
|
||||
|
||||
for _, v := range bodyVersions.Data {
|
||||
for _, v := range versions {
|
||||
respServers := doRequest(h, http.MethodGet, fmt.Sprintf(endpointListServers, v.Code), nil)
|
||||
require.Equal(tb, http.StatusOK, respServers.StatusCode)
|
||||
|
||||
|
@ -932,9 +928,3 @@ func getAllServers(tb testing.TB, h http.Handler) []serverWithVersion {
|
|||
|
||||
return servers
|
||||
}
|
||||
|
||||
func randServer(tb testing.TB, h http.Handler) serverWithVersion {
|
||||
tb.Helper()
|
||||
servers := getAllServers(tb, h)
|
||||
return servers[gofakeit.IntRange(0, len(servers)-1)]
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@ import (
|
|||
"gitea.dwysokinski.me/twhelp/corev3/internal/app"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/bun/buntest"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/port"
|
||||
"github.com/brianvoe/gofakeit/v7"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
|
@ -64,3 +65,7 @@ func decodeJSON[T any](tb testing.TB, r io.Reader) T {
|
|||
require.NoError(tb, json.NewDecoder(r).Decode(&res))
|
||||
return res
|
||||
}
|
||||
|
||||
func randSliceElement[S ~[]E, E any](s S) E {
|
||||
return s[gofakeit.IntRange(0, len(s)-1)]
|
||||
}
|
||||
|
|
|
@ -722,7 +722,7 @@ func TestGetTribe(t *testing.T) {
|
|||
t.Parallel()
|
||||
|
||||
handler := newAPIHTTPHandler(t)
|
||||
tribe := randTribe(t, handler)
|
||||
tribe := randSliceElement(getAllTribes(t, handler))
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
|
@ -936,9 +936,3 @@ func getAllTribes(tb testing.TB, h http.Handler) []tribeWithServer {
|
|||
|
||||
return tribes
|
||||
}
|
||||
|
||||
func randTribe(tb testing.TB, h http.Handler) tribeWithServer {
|
||||
tb.Helper()
|
||||
tribes := getAllTribes(tb, h)
|
||||
return tribes[gofakeit.IntRange(0, len(tribes)-1)]
|
||||
}
|
||||
|
|
|
@ -325,7 +325,7 @@ func TestGetVersion(t *testing.T) {
|
|||
t.Parallel()
|
||||
|
||||
handler := newAPIHTTPHandler(t)
|
||||
version := randVersion(t, handler)
|
||||
version := randSliceElement(getAllVersions(t, handler))
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
|
@ -429,12 +429,12 @@ func TestGetVersion(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func randVersion(tb testing.TB, h http.Handler) apimodel.Version {
|
||||
func getAllVersions(tb testing.TB, h http.Handler) []apimodel.Version {
|
||||
tb.Helper()
|
||||
resp := doRequest(h, http.MethodGet, endpointListVersions, nil)
|
||||
defer resp.Body.Close()
|
||||
require.Equal(tb, http.StatusOK, resp.StatusCode)
|
||||
body := decodeJSON[apimodel.ListVersionsResponse](tb, resp.Body)
|
||||
require.NotEmpty(tb, body.Data)
|
||||
return body.Data[gofakeit.IntRange(0, len(body.Data)-1)]
|
||||
respVersions := doRequest(h, http.MethodGet, endpointListVersions, nil)
|
||||
defer respVersions.Body.Close()
|
||||
require.Equal(tb, http.StatusOK, respVersions.StatusCode)
|
||||
bodyVersions := decodeJSON[apimodel.ListVersionsResponse](tb, respVersions.Body)
|
||||
require.NotEmpty(tb, bodyVersions.Data)
|
||||
return bodyVersions.Data
|
||||
}
|
||||
|
|
|
@ -496,7 +496,7 @@ func TestGetVillage(t *testing.T) {
|
|||
t.Parallel()
|
||||
|
||||
handler := newAPIHTTPHandler(t)
|
||||
village := randVillage(t, handler)
|
||||
village := randSliceElement(getAllVillages(t, handler))
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
|
@ -710,9 +710,3 @@ func getAllVillages(tb testing.TB, h http.Handler) []villageWithServer {
|
|||
|
||||
return villages
|
||||
}
|
||||
|
||||
func randVillage(tb testing.TB, h http.Handler) villageWithServer {
|
||||
tb.Helper()
|
||||
villages := getAllVillages(tb, h)
|
||||
return villages[gofakeit.IntRange(0, len(villages)-1)]
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue