feat(admin): complete configurable progression
Release / release (push) Successful in 3m57s
CI / build (push) Successful in 54s

This commit is contained in:
dmg
2026-08-09 15:12:04 -04:00
parent c87d923cad
commit 8b1064b971
41 changed files with 924 additions and 626 deletions
@@ -0,0 +1,34 @@
package games.dmg.spigotbase;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.util.Map;
import java.util.UUID;
import org.junit.jupiter.api.Test;
final class AdminProgressCounterTest {
private final AdminProgressionService service = new AdminProgressionService(
new PluginSettingsProvider(PluginSettings.from(Map.of()))
);
@Test
void settingPlacementCounterEvaluatesBaseAndWarmupTiers() {
PlayerState player = PlayerState.newPlayer(UUID.randomUUID(), "Alex");
PlayerState updated = service.setProgress(player, ProgressCounter.PLACEMENTS, 2_000);
assertEquals(3, updated.baseLevel());
assertEquals(2, updated.warmupLevel());
assertEquals(2_000, updated.blocksPlacedInBase());
}
@Test
void settingBaseBreakCounterEvaluatesCooldownTier() {
PlayerState player = PlayerState.newPlayer(UUID.randomUUID(), "Alex");
PlayerState updated = service.setProgress(player, ProgressCounter.BASE_BREAKS, 5_000);
assertEquals(3, updated.baseLevel());
assertEquals(4, updated.cooldownLevel());
}
}