test(library): compare trend move times as Instants

Sort the parsed Instant values, not the raw strings. String order
is wrong when fraction lengths differ. Refs #45.
This commit is contained in:
lobo committed 2026-10-11 16:46:03 +02:00
1 parent 0f56f5bb0f
commit bb195a1f79
1 file changed
+2 -1
@@ -260,7 +260,8 @@ class StatGamesFlowTest extends AbstractMockedLibraryServicesTest {
List<JsonNode> rows = allRows("TREND_MOVES", null); List<JsonNode> rows = allRows("TREND_MOVES", null);
assertThat(rows).extracting(r -> r.get("appid").asLong()).contains(FINISHED_TRACKED, BACK_TO_PILE); assertThat(rows).extracting(r -> r.get("appid").asLong()).contains(FINISHED_TRACKED, BACK_TO_PILE);
assertThat(rows).extracting(r -> r.get("at").asString()).isSortedAccordingTo(java.util.Comparator.reverseOrder()); assertThat(rows).extracting(r -> java.time.Instant.parse(r.get("at").asString()))
.isSortedAccordingTo(java.util.Comparator.reverseOrder());
assertThat(rows).filteredOn(r -> r.get("appid").asLong() == BACK_TO_PILE) assertThat(rows).filteredOn(r -> r.get("appid").asLong() == BACK_TO_PILE)
.extracting(r -> r.get("fromStatus").asString(), r -> r.get("toStatus").asString()) .extracting(r -> r.get("fromStatus").asString(), r -> r.get("toStatus").asString())
.contains(org.assertj.core.groups.Tuple.tuple("PLAYING", "BACKLOG")); .contains(org.assertj.core.groups.Tuple.tuple("PLAYING", "BACKLOG"));