diff --git a/src/test/kotlin/kestrel/AggregateTest.kt b/src/test/kotlin/kestrel/AggregateTest.kt index 8a5f919..ae01950 100644 --- a/src/test/kotlin/kestrel/AggregateTest.kt +++ b/src/test/kotlin/kestrel/AggregateTest.kt @@ -68,6 +68,13 @@ class AggregateTest { assertEquals(listOf(text("ops"), int(120)), result.rows[1]) } + @Test + fun offsetSkipsGroupsAfterOrderingAggregatedResults() { + seed() + val result = select("SELECT dept, SUM(amount) AS total FROM sales GROUP BY dept ORDER BY dept ASC LIMIT 1 OFFSET 1") + assertEquals(listOf(listOf(text("ops"), int(120))), result.rows) + } + @Test fun groupByMultipleColumns() { seed() @@ -79,6 +86,22 @@ class AggregateTest { assertEquals(listOf(text("ops"), text("eu"), int(2)), result.rows[2]) } + @Test + fun orderByMultipleColumnsOnGroupedResults() { + seed() + val result = select( + "SELECT dept, region, SUM(amount) AS total FROM sales GROUP BY dept, region ORDER BY dept ASC, region DESC" + ) + assertEquals( + listOf( + listOf(text("eng"), text("us"), int(200)), + listOf(text("eng"), text("eu"), int(100)), + listOf(text("ops"), text("eu"), int(120)) + ), + result.rows + ) + } + @Test fun havingFiltersGroups() { seed()