feat: add a new endpoint - GET /api/v1/versions/:code/servers

This commit is contained in:
Dawid Wysokiński 2022-08-23 07:26:33 +02:00
parent 0ad7b9a4af
commit 2c01d19558
Signed by: Kichiyaki
GPG Key ID: B5445E357FB8B892

View File

@ -0,0 +1,101 @@
package model_test
import (
"testing"
"github.com/stretchr/testify/assert"
"gitea.dwysokinski.me/twhelp/core/internal/domain"
"gitea.dwysokinski.me/twhelp/core/internal/rest/internal/model"
)
func TestNewUnitInfo(t *testing.T) {
t.Parallel()
info := domain.UnitInfo{
Spear: domain.Unit{
BuildTime: 5.8777,
},
Sword: domain.Unit{
Pop: 1,
},
Axe: domain.Unit{
Speed: 13.7777,
},
Archer: domain.Unit{
Attack: 10,
},
Spy: domain.Unit{
Defense: 1,
},
Light: domain.Unit{
DefenseCavalry: 15,
},
Marcher: domain.Unit{
DefenseArcher: 10,
},
Heavy: domain.Unit{
BuildTime: 30.1234,
Pop: 6,
},
Ram: domain.Unit{
Speed: 30.849,
Attack: 1,
},
Catapult: domain.Unit{
Defense: 12,
DefenseCavalry: 123,
},
Knight: domain.Unit{
DefenseArcher: 1234,
Carry: 10,
},
Snob: domain.Unit{
BuildTime: 1234.4,
Pop: 100,
Speed: 35,
},
Militia: domain.Unit{
BuildTime: 1,
Pop: 2,
Speed: 3,
Attack: 4,
Defense: 5,
DefenseCavalry: 6,
DefenseArcher: 7,
Carry: 8,
},
}
assertUnitInfo(t, info, model.NewUnitInfo(info))
}
func assertUnitInfo(tb testing.TB, dui domain.UnitInfo, rui model.UnitInfo) {
tb.Helper()
assertUnit(tb, dui.Spear, rui.Spear)
assertUnit(tb, dui.Sword, rui.Sword)
assertUnit(tb, dui.Axe, rui.Axe)
assertUnit(tb, dui.Archer, rui.Archer)
assertUnit(tb, dui.Spy, rui.Spy)
assertUnit(tb, dui.Light, rui.Light)
assertUnit(tb, dui.Marcher, rui.Marcher)
assertUnit(tb, dui.Heavy, rui.Heavy)
assertUnit(tb, dui.Ram, rui.Ram)
assertUnit(tb, dui.Catapult, rui.Catapult)
assertUnit(tb, dui.Knight, rui.Knight)
assertUnit(tb, dui.Snob, rui.Snob)
assertUnit(tb, dui.Militia, rui.Militia)
}
func assertUnit(tb testing.TB, du domain.Unit, ru model.Unit) {
tb.Helper()
assert.Equal(tb, du.BuildTime, ru.BuildTime)
assert.Equal(tb, du.Pop, ru.Pop)
assert.Equal(tb, du.Speed, ru.Speed)
assert.Equal(tb, du.Attack, ru.Attack)
assert.Equal(tb, du.Defense, ru.Defense)
assert.Equal(tb, du.DefenseCavalry, ru.DefenseCavalry)
assert.Equal(tb, du.DefenseArcher, ru.DefenseArcher)
assert.Equal(tb, du.Carry, ru.Carry)
}