Files
spigot-base/src/test/java/games/dmg/spigotbase/BaseNavigationProgressionTest.java
T
dmg 84e013ac11
Release / release (push) Successful in 1m59s
CI / build (push) Successful in 48s
fix(navigation): preserve disabled preference
2026-08-09 15:38:40 -04:00

40 lines
1.4 KiB
Java

package games.dmg.spigotbase;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.Map;
import java.util.UUID;
import org.junit.jupiter.api.Test;
final class BaseNavigationProgressionTest {
@Test
void fiveHundredthGrassOrDirtBlockUnlocksBaseII() {
BaseProgressionService service =
new BaseProgressionService(PluginSettings.from(Map.of()));
PlayerState player = PlayerState.newPlayer(UUID.randomUUID(), "Alex")
.withGrassAndDirtProgress(499, 1);
ProgressionUpdate update = service.recordGrassOrDirtBreak(player);
assertEquals(2, update.player().baseLevel());
assertTrue(update.player().navigationEnabled());
assertTrue(update.unlockedBaseLevel());
}
@Test
void laterProgressPreservesDisabledNavigationPreference() {
BaseProgressionService service =
new BaseProgressionService(PluginSettings.from(Map.of()));
PlayerState player = PlayerState.newPlayer(UUID.randomUUID(), "Alex")
.withGrassAndDirtProgress(500, 2)
.withNavigationEnabled(false);
ProgressionUpdate update = service.recordGrassOrDirtBreak(player);
assertFalse(update.player().navigationEnabled());
assertFalse(update.unlockedBaseLevel());
}
}