Add test for add and remove badges

This commit is contained in:
Ehren Kret
2021-09-15 17:27:17 -05:00
parent 16dba09b61
commit 39f6eadbb9
2 changed files with 42 additions and 7 deletions

View File

@@ -321,7 +321,7 @@ public class Account {
return badges;
}
public void addBadge(AccountBadge badge) {
public void addBadge(Clock clock, AccountBadge badge) {
requireNotStale();
boolean added = false;
@@ -342,19 +342,18 @@ public class Account {
badges.add(badge);
}
purgeStaleBadges();
purgeStaleBadges(clock);
}
public void removeBadge(String id) {
public void removeBadge(Clock clock, String id) {
requireNotStale();
badges.removeIf(accountBadge -> Objects.equals(accountBadge.getId(), id));
purgeStaleBadges();
purgeStaleBadges(clock);
}
private void purgeStaleBadges() {
final Instant now = Clock.systemUTC().instant();
private void purgeStaleBadges(Clock clock) {
final Instant now = clock.instant();
badges.removeIf(accountBadge -> now.isAfter(accountBadge.getExpiration()));
}