Skip to content

Commit c8e9a40

Browse files
Add error case for calling order on same column twice
1 parent 018ce02 commit c8e9a40

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

src/test/java/org/javawebstack/orm/test/querybuilding/OrderByClauseTest.java

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.javawebstack.orm.test.querybuilding;
22

3+
import org.javawebstack.orm.exception.ORMQueryException;
34
import org.javawebstack.orm.query.Query;
45
import org.javawebstack.orm.test.exception.SectionIndexOutOfBoundException;
56
import org.javawebstack.orm.test.shared.models.Datatype;
@@ -12,8 +13,7 @@
1213
import java.util.stream.Collectors;
1314

1415
import static org.javawebstack.orm.test.shared.setup.ModelSetup.setUpModel;
15-
import static org.junit.jupiter.api.Assertions.assertTrue;
16-
import static org.junit.jupiter.api.Assertions.fail;
16+
import static org.junit.jupiter.api.Assertions.*;
1717

1818
public class OrderByClauseTest {
1919

@@ -92,6 +92,17 @@ void testMultipleOrderByClausesOfMixedOrder() {
9292
.assertSectionContains("ORDER BY", "`primitive_integer` DESC");
9393
}
9494

95+
@Test
96+
void testMultipleOrderByClausesOfMixedOrderReversed() {
97+
Query<Datatype> query = setUpModel(Datatype.class).query()
98+
.order("primitive_integer", true)
99+
.order("wrapper_integer", false);
100+
101+
new QueryVerification(query)
102+
.assertSectionContains("ORDER BY", "`primitive_integer` DESC")
103+
.assertSectionContains("ORDER BY", "`wrapper_integer`");
104+
}
105+
95106

96107
@Test
97108
// This test is important because putting the order by statements in different order is relevant (they set priorities)
@@ -129,14 +140,14 @@ void testMultipleOrderByClausesOfRandomOrderForCorrectOrder() throws SectionInde
129140

130141
}
131142

143+
/*
144+
* Error Cases
145+
*/
132146
@Test
133-
void testMultipleOrderByClausesOfMixedOrderReversed() {
147+
void testCannotCallOrderOnSameColumnTwice() {
134148
Query<Datatype> query = setUpModel(Datatype.class).query()
135-
.order("primitive_integer", true)
136-
.order("wrapper_integer", false);
149+
.order("primitive_integer", true);
137150

138-
new QueryVerification(query)
139-
.assertSectionContains("ORDER BY", "`primitive_integer` DESC")
140-
.assertSectionContains("ORDER BY", "`wrapper_integer`");
151+
assertThrows(ORMQueryException.class, () -> query.order("primitive_integer"));
141152
}
142153
}

0 commit comments

Comments
 (0)