feat: enable/disable notifications about internals/barbarians
This commit is contained in:
parent
09eb88ed50
commit
4b64d0f283
|
@ -365,7 +365,7 @@ func canSendEnnoblementNotificationTypeLoss(g domain.Group, e twhelp.Ennoblement
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
if !g.Internals && isInternal(e, monitors) {
|
if isInternal(e, monitors) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -397,7 +397,7 @@ func isGain(e twhelp.Ennoblement, monitors []domain.Monitor) bool {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return n && e.NewOwner.Player.Tribe.Tribe.ID != e.OldOwner.Player.Tribe.Tribe.ID
|
return n && e.NewOwner.Player.ID != e.OldOwner.Player.ID
|
||||||
}
|
}
|
||||||
|
|
||||||
func isLoss(e twhelp.Ennoblement, monitors []domain.Monitor) bool {
|
func isLoss(e twhelp.Ennoblement, monitors []domain.Monitor) bool {
|
||||||
|
@ -408,7 +408,7 @@ func isLoss(e twhelp.Ennoblement, monitors []domain.Monitor) bool {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return o && e.NewOwner.Player.Tribe.Tribe.ID != e.OldOwner.Player.Tribe.Tribe.ID
|
return o && e.NewOwner.Player.ID != e.OldOwner.Player.ID
|
||||||
}
|
}
|
||||||
|
|
||||||
func ennoblementToDomainModel(e twhelp.Ennoblement) domain.Ennoblement {
|
func ennoblementToDomainModel(e twhelp.Ennoblement) domain.Ennoblement {
|
||||||
|
|
|
@ -310,6 +310,23 @@ func TestMonitor_Execute(t *testing.T) {
|
||||||
ProfileURL: uuid.NewString(),
|
ProfileURL: uuid.NewString(),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"de:de200": {
|
||||||
|
{
|
||||||
|
ID: 300,
|
||||||
|
FullName: uuid.NewString(),
|
||||||
|
ProfileURL: uuid.NewString(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ID: 301,
|
||||||
|
FullName: uuid.NewString(),
|
||||||
|
ProfileURL: uuid.NewString(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ID: 302,
|
||||||
|
FullName: uuid.NewString(),
|
||||||
|
ProfileURL: uuid.NewString(),
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
tribes := map[string][]twhelp.TribeMeta{
|
tribes := map[string][]twhelp.TribeMeta{
|
||||||
"pl:pl181": {
|
"pl:pl181": {
|
||||||
|
@ -354,6 +371,20 @@ func TestMonitor_Execute(t *testing.T) {
|
||||||
ProfileURL: uuid.NewString(),
|
ProfileURL: uuid.NewString(),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"de:de200": {
|
||||||
|
{
|
||||||
|
ID: 300,
|
||||||
|
Name: uuid.NewString(),
|
||||||
|
Tag: uuid.NewString(),
|
||||||
|
ProfileURL: uuid.NewString(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ID: 301,
|
||||||
|
Name: uuid.NewString(),
|
||||||
|
Tag: uuid.NewString(),
|
||||||
|
ProfileURL: uuid.NewString(),
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
players := map[string][]twhelp.PlayerMeta{
|
players := map[string][]twhelp.PlayerMeta{
|
||||||
"pl:pl181": {
|
"pl:pl181": {
|
||||||
|
@ -428,6 +459,35 @@ func TestMonitor_Execute(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"de:de200": {
|
||||||
|
{
|
||||||
|
ID: 300,
|
||||||
|
Name: uuid.NewString(),
|
||||||
|
ProfileURL: uuid.NewString(),
|
||||||
|
Tribe: twhelp.NullTribeMeta{
|
||||||
|
Tribe: tribes["de:de200"][0],
|
||||||
|
Valid: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ID: 301,
|
||||||
|
Name: uuid.NewString(),
|
||||||
|
ProfileURL: uuid.NewString(),
|
||||||
|
Tribe: twhelp.NullTribeMeta{
|
||||||
|
Tribe: tribes["de:de200"][0],
|
||||||
|
Valid: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ID: 302,
|
||||||
|
Name: uuid.NewString(),
|
||||||
|
ProfileURL: uuid.NewString(),
|
||||||
|
Tribe: twhelp.NullTribeMeta{
|
||||||
|
Tribe: tribes["de:de200"][1],
|
||||||
|
Valid: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
ennoblements := map[string][]twhelp.Ennoblement{
|
ennoblements := map[string][]twhelp.Ennoblement{
|
||||||
"pl:pl181": {
|
"pl:pl181": {
|
||||||
|
@ -458,7 +518,7 @@ func TestMonitor_Execute(t *testing.T) {
|
||||||
CreatedAt: time.Now().Add(-4 * time.Minute),
|
CreatedAt: time.Now().Add(-4 * time.Minute),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ID: 3, // internal conquer, should be skipped
|
ID: 3, // internal, should be skipped (internals disabled)
|
||||||
Village: villages["pl:pl181"][1],
|
Village: villages["pl:pl181"][1],
|
||||||
NewOwner: twhelp.NullPlayerMeta{
|
NewOwner: twhelp.NullPlayerMeta{
|
||||||
Player: players["pl:pl181"][0],
|
Player: players["pl:pl181"][0],
|
||||||
|
@ -471,7 +531,7 @@ func TestMonitor_Execute(t *testing.T) {
|
||||||
CreatedAt: time.Now().Add(-3 * time.Minute),
|
CreatedAt: time.Now().Add(-3 * time.Minute),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ID: 4, // barbarian
|
ID: 4, // barbarian, shouldn't be skipped (barbarians enabled)
|
||||||
Village: villages["pl:pl181"][2],
|
Village: villages["pl:pl181"][2],
|
||||||
NewOwner: twhelp.NullPlayerMeta{
|
NewOwner: twhelp.NullPlayerMeta{
|
||||||
Player: players["pl:pl181"][0],
|
Player: players["pl:pl181"][0],
|
||||||
|
@ -554,6 +614,44 @@ func TestMonitor_Execute(t *testing.T) {
|
||||||
CreatedAt: time.Now().Add(-5 * time.Minute),
|
CreatedAt: time.Now().Add(-5 * time.Minute),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"de:de200": {
|
||||||
|
{
|
||||||
|
ID: 300, // barbarian, should be skipped (barbarians disabled)
|
||||||
|
Village: villages["de:de200"][0],
|
||||||
|
NewOwner: twhelp.NullPlayerMeta{
|
||||||
|
Player: players["de:de200"][0],
|
||||||
|
Valid: true,
|
||||||
|
},
|
||||||
|
OldOwner: twhelp.NullPlayerMeta{},
|
||||||
|
CreatedAt: time.Now().Add(-5 * time.Minute),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ID: 301, // internal, shouldn't be skipped (internals enabled)
|
||||||
|
Village: villages["de:de200"][1],
|
||||||
|
NewOwner: twhelp.NullPlayerMeta{
|
||||||
|
Player: players["de:de200"][0],
|
||||||
|
Valid: true,
|
||||||
|
},
|
||||||
|
OldOwner: twhelp.NullPlayerMeta{
|
||||||
|
Player: players["de:de200"][1],
|
||||||
|
Valid: true,
|
||||||
|
},
|
||||||
|
CreatedAt: time.Now().Add(-5 * time.Minute),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ID: 302, // internal, shouldn't be skipped (internals enabled)
|
||||||
|
Village: villages["de:de200"][2],
|
||||||
|
NewOwner: twhelp.NullPlayerMeta{
|
||||||
|
Player: players["de:de200"][0],
|
||||||
|
Valid: true,
|
||||||
|
},
|
||||||
|
OldOwner: twhelp.NullPlayerMeta{
|
||||||
|
Player: players["de:de200"][2],
|
||||||
|
Valid: true,
|
||||||
|
},
|
||||||
|
CreatedAt: time.Now().Add(-5 * time.Minute),
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
client.ListEnnoblementsCalls(
|
client.ListEnnoblementsCalls(
|
||||||
func(
|
func(
|
||||||
|
@ -613,10 +711,22 @@ func TestMonitor_Execute(t *testing.T) {
|
||||||
ServerID: uuid.NewString(),
|
ServerID: uuid.NewString(),
|
||||||
ChannelGains: uuid.NewString(),
|
ChannelGains: uuid.NewString(),
|
||||||
ChannelLosses: uuid.NewString(),
|
ChannelLosses: uuid.NewString(),
|
||||||
|
Barbarians: true,
|
||||||
ServerKey: "pl180",
|
ServerKey: "pl180",
|
||||||
VersionCode: "pl",
|
VersionCode: "pl",
|
||||||
CreatedAt: time.Now(),
|
CreatedAt: time.Now(),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
ID: uuid.NewString(),
|
||||||
|
ServerID: uuid.NewString(),
|
||||||
|
ChannelGains: uuid.NewString(),
|
||||||
|
ChannelLosses: uuid.NewString(),
|
||||||
|
Barbarians: false,
|
||||||
|
Internals: true,
|
||||||
|
ServerKey: "de200",
|
||||||
|
VersionCode: "de",
|
||||||
|
CreatedAt: time.Now(),
|
||||||
|
},
|
||||||
}
|
}
|
||||||
groupSvc.ListReturns(groups, nil)
|
groupSvc.ListReturns(groups, nil)
|
||||||
|
|
||||||
|
@ -659,10 +769,18 @@ func TestMonitor_Execute(t *testing.T) {
|
||||||
GroupID: groups[4].ID,
|
GroupID: groups[4].ID,
|
||||||
CreatedAt: time.Now(),
|
CreatedAt: time.Now(),
|
||||||
},
|
},
|
||||||
|
},
|
||||||
|
groups[5].ID: {
|
||||||
{
|
{
|
||||||
ID: uuid.NewString(),
|
ID: uuid.NewString(),
|
||||||
TribeID: tribes["de:200"][0].ID,
|
TribeID: tribes["de:de200"][0].ID,
|
||||||
GroupID: groups[4].ID,
|
GroupID: groups[5].ID,
|
||||||
|
CreatedAt: time.Now(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ID: uuid.NewString(),
|
||||||
|
TribeID: tribes["de:de200"][1].ID,
|
||||||
|
GroupID: groups[5].ID,
|
||||||
CreatedAt: time.Now(),
|
CreatedAt: time.Now(),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -699,6 +817,18 @@ func TestMonitor_Execute(t *testing.T) {
|
||||||
ChannelID: groups[3].ChannelGains,
|
ChannelID: groups[3].ChannelGains,
|
||||||
Ennoblement: ennoblementToDomainModel(ennoblements["en:en130"][2]),
|
Ennoblement: ennoblementToDomainModel(ennoblements["en:en130"][2]),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Type: domain.EnnoblementNotificationTypeGain,
|
||||||
|
ServerID: groups[5].ServerID,
|
||||||
|
ChannelID: groups[5].ChannelGains,
|
||||||
|
Ennoblement: ennoblementToDomainModel(ennoblements["de:de200"][1]),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Type: domain.EnnoblementNotificationTypeGain,
|
||||||
|
ServerID: groups[5].ServerID,
|
||||||
|
ChannelID: groups[5].ChannelGains,
|
||||||
|
Ennoblement: ennoblementToDomainModel(ennoblements["de:de200"][2]),
|
||||||
|
},
|
||||||
}
|
}
|
||||||
assert.Len(t, notifications, len(expectedNotifications))
|
assert.Len(t, notifications, len(expectedNotifications))
|
||||||
for _, n := range expectedNotifications {
|
for _, n := range expectedNotifications {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user