refactor: base models
This commit is contained in:
parent
9dfb705323
commit
9cae454fb4
|
@ -82,7 +82,6 @@ func (e Ennoblement) ToDomain() domain.Ennoblement {
|
|||
}
|
||||
|
||||
return domain.Ennoblement{
|
||||
BaseEnnoblement: domain.BaseEnnoblement{
|
||||
VillageID: e.VillageID,
|
||||
NewOwnerID: e.NewOwnerID,
|
||||
NewTribeID: e.NewTribeID,
|
||||
|
@ -90,7 +89,6 @@ func (e Ennoblement) ToDomain() domain.Ennoblement {
|
|||
OldTribeID: e.OldTribeID,
|
||||
Points: e.Points,
|
||||
CreatedAt: e.CreatedAt,
|
||||
},
|
||||
ID: e.ID,
|
||||
Village: village,
|
||||
NewOwner: newOwner,
|
||||
|
|
|
@ -15,7 +15,6 @@ func TestEnnoblement(t *testing.T) {
|
|||
|
||||
var id int64 = 1234
|
||||
params := domain.CreateEnnoblementParams{
|
||||
BaseEnnoblement: domain.BaseEnnoblement{
|
||||
VillageID: 112,
|
||||
NewOwnerID: 113,
|
||||
NewTribeID: 114,
|
||||
|
@ -23,7 +22,6 @@ func TestEnnoblement(t *testing.T) {
|
|||
OldTribeID: 116,
|
||||
Points: 117,
|
||||
CreatedAt: time.Now().Add(-20 * time.Hour),
|
||||
},
|
||||
ServerKey: "pl151",
|
||||
}
|
||||
|
||||
|
|
|
@ -49,7 +49,6 @@ func (p Player) ToDomain() domain.Player {
|
|||
}
|
||||
}
|
||||
return domain.Player{
|
||||
BasePlayer: domain.BasePlayer{
|
||||
OpponentsDefeated: domain.OpponentsDefeated(p.OpponentsDefeated),
|
||||
ID: p.ID,
|
||||
Name: p.Name,
|
||||
|
@ -58,7 +57,6 @@ func (p Player) ToDomain() domain.Player {
|
|||
Rank: p.Rank,
|
||||
TribeID: p.TribeID,
|
||||
ProfileURL: p.ProfileURL,
|
||||
},
|
||||
ServerKey: p.ServerKey,
|
||||
Tribe: tribe,
|
||||
CreatedAt: p.CreatedAt,
|
||||
|
|
|
@ -47,7 +47,6 @@ func NewTribe(p domain.CreateTribeParams) Tribe {
|
|||
|
||||
func (t Tribe) ToDomain() domain.Tribe {
|
||||
return domain.Tribe{
|
||||
BaseTribe: domain.BaseTribe{
|
||||
OpponentsDefeated: domain.OpponentsDefeated(t.OpponentsDefeated),
|
||||
ID: t.ID,
|
||||
Name: t.Name,
|
||||
|
@ -58,7 +57,6 @@ func (t Tribe) ToDomain() domain.Tribe {
|
|||
AllPoints: t.AllPoints,
|
||||
Rank: t.Rank,
|
||||
ProfileURL: t.ProfileURL,
|
||||
},
|
||||
ServerKey: t.ServerKey,
|
||||
Dominance: t.Dominance,
|
||||
CreatedAt: t.CreatedAt,
|
||||
|
|
|
@ -49,7 +49,6 @@ func (v Village) ToDomain() domain.Village {
|
|||
}
|
||||
}
|
||||
return domain.Village{
|
||||
BaseVillage: domain.BaseVillage{
|
||||
ID: v.ID,
|
||||
Name: v.Name,
|
||||
Points: v.Points,
|
||||
|
@ -59,7 +58,6 @@ func (v Village) ToDomain() domain.Village {
|
|||
Bonus: v.Bonus,
|
||||
PlayerID: v.PlayerID,
|
||||
ProfileURL: v.ProfileURL,
|
||||
},
|
||||
ServerKey: v.ServerKey,
|
||||
Player: player,
|
||||
CreatedAt: v.CreatedAt,
|
||||
|
|
|
@ -89,10 +89,11 @@ func (e *Ennoblement) Refresh(ctx context.Context, key, url string) error {
|
|||
OldOwnerID: ennoblement.OldOwnerID,
|
||||
OldTribeID: ennoblement.OldTribeID,
|
||||
Points: ennoblement.Points,
|
||||
CreatedAt: ennoblement.CreatedAt,
|
||||
ServerKey: key,
|
||||
})
|
||||
}
|
||||
if err := e.repo.Create(ctx, params...); err != nil {
|
||||
if err = e.repo.Create(ctx, params...); err != nil {
|
||||
span.RecordError(err)
|
||||
span.SetStatus(codes.Error, err.Error())
|
||||
return fmt.Errorf("EnnoblementRepository.Create: %w", err)
|
||||
|
|
|
@ -86,7 +86,16 @@ func (t *Tribe) createOrUpdate(ctx context.Context, key string, tribes []tw.Trib
|
|||
params := make([]domain.CreateTribeParams, 0, len(chunk))
|
||||
for _, tribe := range chunk {
|
||||
params = append(params, domain.CreateTribeParams{
|
||||
BaseTribe: tribe,
|
||||
OpponentsDefeated: domain.OpponentsDefeated(tribe.OpponentsDefeated),
|
||||
ID: tribe.ID,
|
||||
Name: tribe.Name,
|
||||
Tag: tribe.Tag,
|
||||
NumMembers: tribe.NumMembers,
|
||||
NumVillages: tribe.NumVillages,
|
||||
Points: tribe.Points,
|
||||
AllPoints: tribe.AllPoints,
|
||||
Rank: tribe.Rank,
|
||||
ProfileURL: tribe.ProfileURL,
|
||||
ServerKey: key,
|
||||
})
|
||||
}
|
||||
|
@ -100,7 +109,7 @@ func (t *Tribe) createOrUpdate(ctx context.Context, key string, tribes []tw.Trib
|
|||
return nil
|
||||
}
|
||||
|
||||
func (t *Tribe) delete(ctx context.Context, key string, existing []domain.BaseTribe) error {
|
||||
func (t *Tribe) delete(ctx context.Context, key string, existing []tw.Tribe) error {
|
||||
ctx, span := tracer.Start(ctx, "Tribe.delete", trace.WithAttributes(
|
||||
attribute.String("server.key", key),
|
||||
))
|
||||
|
|
|
@ -6,6 +6,7 @@ import (
|
|||
"testing"
|
||||
"time"
|
||||
|
||||
"gitea.dwysokinski.me/twhelp/core/internal/tw"
|
||||
"github.com/google/go-cmp/cmp"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
|
@ -23,9 +24,9 @@ func TestTribe_Refresh(t *testing.T) {
|
|||
|
||||
serverKey, serverUrl := "pl169", "https://pl169.plemiona.pl"
|
||||
|
||||
tribes := []domain.BaseTribe{
|
||||
tribes := []tw.Tribe{
|
||||
{
|
||||
OpponentsDefeated: domain.OpponentsDefeated{
|
||||
OpponentsDefeated: tw.OpponentsDefeated{
|
||||
RankAtt: 8,
|
||||
ScoreAtt: 7,
|
||||
RankDef: 6,
|
||||
|
@ -46,7 +47,7 @@ func TestTribe_Refresh(t *testing.T) {
|
|||
ProfileURL: "profile-998",
|
||||
},
|
||||
{
|
||||
OpponentsDefeated: domain.OpponentsDefeated{
|
||||
OpponentsDefeated: tw.OpponentsDefeated{
|
||||
RankAtt: 1,
|
||||
ScoreAtt: 2,
|
||||
RankDef: 3,
|
||||
|
@ -72,7 +73,6 @@ func TestTribe_Refresh(t *testing.T) {
|
|||
|
||||
existingTribes := []domain.Tribe{
|
||||
{
|
||||
BaseTribe: domain.BaseTribe{
|
||||
OpponentsDefeated: domain.OpponentsDefeated{
|
||||
RankAtt: 8,
|
||||
ScoreAtt: 7,
|
||||
|
@ -92,13 +92,21 @@ func TestTribe_Refresh(t *testing.T) {
|
|||
AllPoints: 3,
|
||||
Rank: 2,
|
||||
ProfileURL: "profile-997",
|
||||
},
|
||||
ServerKey: serverKey,
|
||||
Dominance: 12.5,
|
||||
CreatedAt: time.Now(),
|
||||
},
|
||||
{
|
||||
BaseTribe: tribes[0],
|
||||
OpponentsDefeated: domain.OpponentsDefeated(tribes[0].OpponentsDefeated),
|
||||
ID: tribes[0].ID,
|
||||
Name: tribes[0].Name,
|
||||
Tag: tribes[0].Tag,
|
||||
NumMembers: tribes[0].NumMembers,
|
||||
NumVillages: tribes[0].NumVillages,
|
||||
Points: tribes[0].Points,
|
||||
AllPoints: tribes[0].AllPoints,
|
||||
Rank: tribes[0].Rank,
|
||||
ProfileURL: tribes[0].ProfileURL,
|
||||
ServerKey: serverKey,
|
||||
Dominance: 11.5,
|
||||
CreatedAt: time.Now(),
|
||||
|
@ -121,7 +129,16 @@ func TestTribe_Refresh(t *testing.T) {
|
|||
_, params := repo.CreateOrUpdateArgsForCall(0)
|
||||
assert.Len(t, params, len(tribes))
|
||||
for i, p := range params {
|
||||
assert.Equal(t, tribes[i], p.BaseTribe)
|
||||
assert.EqualValues(t, tribes[i].OpponentsDefeated, p.OpponentsDefeated)
|
||||
assert.Equal(t, tribes[i].ID, p.ID)
|
||||
assert.Equal(t, tribes[i].Name, p.Name)
|
||||
assert.Equal(t, tribes[i].Tag, p.Tag)
|
||||
assert.Equal(t, tribes[i].NumMembers, p.NumMembers)
|
||||
assert.Equal(t, tribes[i].NumVillages, p.NumVillages)
|
||||
assert.Equal(t, tribes[i].Points, p.Points)
|
||||
assert.Equal(t, tribes[i].AllPoints, p.AllPoints)
|
||||
assert.Equal(t, tribes[i].Rank, p.Rank)
|
||||
assert.Equal(t, tribes[i].ProfileURL, p.ProfileURL)
|
||||
assert.Equal(t, serverKey, p.ServerKey)
|
||||
}
|
||||
|
||||
|
@ -322,9 +339,7 @@ func TestTribe_GetByServerKeyAndID(t *testing.T) {
|
|||
t.Parallel()
|
||||
|
||||
tribe := domain.Tribe{
|
||||
BaseTribe: domain.BaseTribe{
|
||||
ID: 123,
|
||||
},
|
||||
ServerKey: "pl151",
|
||||
}
|
||||
repo := &mock.FakeTribeRepository{}
|
||||
|
@ -368,10 +383,8 @@ func TestTribe_GetByServerKeyAndTag(t *testing.T) {
|
|||
t.Parallel()
|
||||
|
||||
tribe := domain.Tribe{
|
||||
BaseTribe: domain.BaseTribe{
|
||||
ID: 123,
|
||||
Tag: "taggg",
|
||||
},
|
||||
ServerKey: "pl151",
|
||||
}
|
||||
repo := &mock.FakeTribeRepository{}
|
||||
|
|
|
@ -64,7 +64,15 @@ func (v *Village) Refresh(ctx context.Context, key, url string) (domain.RefreshV
|
|||
params := make([]domain.CreateVillageParams, 0, len(chunk))
|
||||
for _, village := range chunk {
|
||||
params = append(params, domain.CreateVillageParams{
|
||||
BaseVillage: village,
|
||||
ID: village.ID,
|
||||
Name: village.Name,
|
||||
Points: village.Points,
|
||||
X: village.X,
|
||||
Y: village.Y,
|
||||
Continent: village.Continent,
|
||||
Bonus: village.Bonus,
|
||||
PlayerID: village.PlayerID,
|
||||
ProfileURL: village.ProfileURL,
|
||||
ServerKey: key,
|
||||
})
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ import (
|
|||
"fmt"
|
||||
"testing"
|
||||
|
||||
"gitea.dwysokinski.me/twhelp/core/internal/tw"
|
||||
"github.com/google/go-cmp/cmp"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
|
@ -19,7 +20,7 @@ import (
|
|||
func TestVillage_Refresh(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
villages := []domain.BaseVillage{
|
||||
villages := []tw.Village{
|
||||
{
|
||||
ID: 1,
|
||||
Name: "111",
|
||||
|
@ -83,16 +84,17 @@ func TestVillage_Refresh(t *testing.T) {
|
|||
require.Equal(t, 1, repo.CreateOrUpdateCallCount())
|
||||
_, params := repo.CreateOrUpdateArgsForCall(0)
|
||||
assert.Len(t, params, len(villages))
|
||||
for _, village := range villages {
|
||||
var villageToCreate domain.CreateVillageParams
|
||||
for _, p := range params {
|
||||
if p.ID == village.ID {
|
||||
villageToCreate = p
|
||||
break
|
||||
}
|
||||
}
|
||||
assert.Equal(t, village, villageToCreate.BaseVillage)
|
||||
assert.Equal(t, serverKey, villageToCreate.ServerKey)
|
||||
for i, village := range villages {
|
||||
assert.Equal(t, village.ID, params[i].ID)
|
||||
assert.Equal(t, village.Name, params[i].Name)
|
||||
assert.Equal(t, village.ProfileURL, params[i].ProfileURL)
|
||||
assert.Equal(t, village.X, params[i].X)
|
||||
assert.Equal(t, village.Y, params[i].Y)
|
||||
assert.Equal(t, village.Points, params[i].Points)
|
||||
assert.Equal(t, village.Continent, params[i].Continent)
|
||||
assert.Equal(t, village.Bonus, params[i].Bonus)
|
||||
assert.Equal(t, village.PlayerID, params[i].PlayerID)
|
||||
assert.Equal(t, serverKey, params[i].ServerKey)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -235,27 +237,21 @@ func TestVillage_GetByServerKeyAndID(t *testing.T) {
|
|||
t.Parallel()
|
||||
|
||||
player := domain.Village{
|
||||
BaseVillage: domain.BaseVillage{
|
||||
ID: 123,
|
||||
PlayerID: 123,
|
||||
},
|
||||
Player: domain.NullPlayer{
|
||||
Valid: true,
|
||||
Player: domain.Player{
|
||||
BasePlayer: domain.BasePlayer{
|
||||
ID: 123,
|
||||
TribeID: 1234,
|
||||
},
|
||||
Tribe: domain.NullTribe{
|
||||
Valid: true,
|
||||
Tribe: domain.Tribe{
|
||||
BaseTribe: domain.BaseTribe{
|
||||
ID: 1234,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
ServerKey: "pl151",
|
||||
}
|
||||
repo := &mock.FakeVillageRepository{}
|
||||
|
|
Reference in New Issue
Block a user