Skip to content

Commit 710b6c5

Browse files
Add tests for OrderBy Clauses
1 parent b73d7db commit 710b6c5

File tree

1 file changed

+98
-0
lines changed

1 file changed

+98
-0
lines changed
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
package org.javawebstack.orm.test.querybuilding;
2+
3+
import org.javawebstack.orm.query.Query;
4+
import org.javawebstack.orm.test.shared.models.Datatype;
5+
import org.javawebstack.orm.test.shared.verification.QueryVerification;
6+
import org.junit.jupiter.api.Test;
7+
8+
import static org.javawebstack.orm.test.shared.setup.ModelSetup.setUpModel;
9+
10+
public class OrderByClauseTest {
11+
12+
@Test
13+
void testOneExistingColumnDefaultOrderBy() {
14+
Query<Datatype> query = setUpModel(Datatype.class).query()
15+
.order("wrapper_integer");
16+
new QueryVerification(query).assertSectionEquals("ORDER BY", "`wrapper_integer` ASC");
17+
}
18+
19+
@Test
20+
void testOneNonExistingColumnDefaultOrderBy() {
21+
Query<Datatype> query = setUpModel(Datatype.class).query()
22+
.order("does_not_exist");
23+
new QueryVerification(query).assertSectionEquals("ORDER BY", "`does_not_exist` ASC");
24+
}
25+
26+
@Test
27+
void testOneExistingColumnASCOrderBy() {
28+
Query<Datatype> query = setUpModel(Datatype.class).query()
29+
.order("wrapper_integer", false);
30+
new QueryVerification(query).assertSectionEquals("ORDER BY", "`wrapper_integer` ASC");
31+
}
32+
33+
@Test
34+
void testOneNonExistingColumnASCOrderBy() {
35+
Query<Datatype> query = setUpModel(Datatype.class).query()
36+
.order("does_not_exist", false);
37+
new QueryVerification(query).assertSectionEquals("ORDER BY", "`does_not_exist` ASC");
38+
}
39+
40+
@Test
41+
void testOneExistingColumnDESCOrderBy() {
42+
Query<Datatype> query = setUpModel(Datatype.class).query()
43+
.order("wrapper_integer", true);
44+
new QueryVerification(query).assertSectionEquals("ORDER BY", "`wrapper_integer` DESC");
45+
}
46+
47+
@Test
48+
void testOneNonExistingColumnDESCOrderBy() {
49+
Query<Datatype> query = setUpModel(Datatype.class).query()
50+
.order("does_not_exist", true);
51+
new QueryVerification(query).assertSectionEquals("ORDER BY", "`does_not_exist` DESC");
52+
}
53+
54+
@Test
55+
void testMultipleOrderByClausesOfASCOrder() {
56+
Query<Datatype> query = setUpModel(Datatype.class).query()
57+
.order("wrapper_integer")
58+
.order("primitive_integer");
59+
60+
new QueryVerification(query)
61+
.assertSectionContains("ORDER BY", "`wrapper_integer` ASC")
62+
.assertSectionContains("ORDER BY", "`primitive_integer` ASC");
63+
}
64+
65+
@Test
66+
void testMultipleOrderByClausesOfDESCOrder() {
67+
Query<Datatype> query = setUpModel(Datatype.class).query()
68+
.order("wrapper_integer")
69+
.order("primitive_integer");
70+
71+
new QueryVerification(query)
72+
.assertSectionContains("ORDER BY", "`wrapper_integer` DESC")
73+
.assertSectionContains("ORDER BY", "`primitive_integer` DESC");
74+
}
75+
76+
@Test
77+
void testMultipleOrderByClausesOfMixedOrder() {
78+
Query<Datatype> query = setUpModel(Datatype.class).query()
79+
.order("wrapper_integer", false)
80+
.order("primitive_integer", true);
81+
82+
new QueryVerification(query)
83+
.assertSectionContains("ORDER BY", "`wrapper_integer` ASC")
84+
.assertSectionContains("ORDER BY", "`primitive_integer` DESC");
85+
}
86+
87+
@Test
88+
void testMultipleOrderByClausesOfMixedOrderReversed() {
89+
Query<Datatype> query = setUpModel(Datatype.class).query()
90+
.order("primitive_integer", true)
91+
.order("wrapper_integer", false);
92+
93+
new QueryVerification(query)
94+
.assertSectionContains("ORDER BY", "`primitive_integer` DESC")
95+
.assertSectionContains("ORDER BY", "`wrapper_integer` ASC");
96+
}
97+
98+
}

0 commit comments

Comments
 (0)