Skip to content
This repository was archived by the owner on Nov 7, 2023. It is now read-only.

Commit d986e94

Browse files
committed
Tests for filter builder
1 parent 0f565c7 commit d986e94

File tree

1 file changed

+122
-6
lines changed

1 file changed

+122
-6
lines changed

src/test/kotlin/io/supabase/postgrest/builder/PostgrestFilterBuilderTest.kt

+122-6
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import assertk.assertions.isEqualTo
55
import io.mockk.mockk
66
import org.junit.jupiter.api.BeforeEach
77
import org.junit.jupiter.api.Test
8+
import kotlin.reflect.KProperty1
89

910
internal class PostgrestFilterBuilderTest {
1011

@@ -17,41 +18,156 @@ internal class PostgrestFilterBuilderTest {
1718
}
1819

1920
@Test
20-
fun `not`() {
21+
fun not() {
2122
filterBuilder!!.not("columnName", FilterOperator.CD, "val")
2223
assertSearchParam("columnName", "not.cd.val")
2324
}
2425

2526
@Test
26-
fun `or`() {
27+
fun or() {
2728
filterBuilder!!.or("fff")
2829
assertSearchParam("or", "(fff)")
2930
}
3031

3132
@Test
32-
fun `eq`() {
33+
fun eq() {
3334
filterBuilder!!.eq("columnName", "val")
3435
assertSearchParam("columnName", "eq.val")
3536
}
3637

3738
@Test
38-
fun `neq`() {
39+
fun neq() {
3940
filterBuilder!!.neq("columnName", "val")
4041
assertSearchParam("columnName", "neq.val")
4142
}
4243

4344
@Test
44-
fun `gt`() {
45+
fun gt() {
4546
filterBuilder!!.gt("columnName", "val")
4647
assertSearchParam("columnName", "gt.val")
4748
}
4849

4950
@Test
50-
fun `gte`() {
51+
fun gte() {
5152
filterBuilder!!.gte("columnName", "val")
5253
assertSearchParam("columnName", "gte.val")
5354
}
5455

56+
@Test
57+
fun lt() {
58+
filterBuilder!!.lt("columnName", "val")
59+
assertSearchParam("columnName", "lt.val")
60+
}
61+
62+
@Test
63+
fun lte() {
64+
filterBuilder!!.lte("columnName", "val")
65+
assertSearchParam("columnName", "lte.val")
66+
}
67+
68+
@Test
69+
fun like(){
70+
filterBuilder!!.like("columnName", "val")
71+
assertSearchParam("columnName", "like.val")
72+
}
73+
74+
@Test
75+
fun ilike (){
76+
filterBuilder!!.ilike("columnName", "val")
77+
assertSearchParam("columnName", "ilike.val")
78+
}
79+
80+
@Test
81+
fun `is`() {
82+
filterBuilder!!.`is`("columnName", true)
83+
assertSearchParam("columnName", "is.true")
84+
}
85+
86+
@Test
87+
fun `in`() {
88+
filterBuilder!!.`in`("columnName", listOf("val1", "val2"))
89+
assertSearchParam("columnName", """in.("val1","val2")""")
90+
}
91+
92+
@Test
93+
fun rangeLt() {
94+
filterBuilder!!.rangeLt("columnName", "val")
95+
assertSearchParam("columnName", "sl.val")
96+
}
97+
98+
@Test
99+
fun rangeGt() {
100+
filterBuilder!!.rangeGt("columnName", "val")
101+
assertSearchParam("columnName", "sr.val")
102+
}
103+
104+
@Test
105+
fun rangeGte(){
106+
filterBuilder!!.rangeGte("columnName", "val")
107+
assertSearchParam("columnName", "nxl.val")
108+
}
109+
110+
@Test
111+
fun rangeLte(){
112+
filterBuilder!!.rangeLte("columnName", "val")
113+
assertSearchParam("columnName", "nxr.val")
114+
}
115+
116+
@Test
117+
fun adjacent() {
118+
filterBuilder!!.adjacent("columnName", "val")
119+
assertSearchParam("columnName", "adj.val")
120+
}
121+
122+
@Test
123+
fun `text search without config`() {
124+
filterBuilder!!.textSearch("columnName", "val" ,TextSearchType.PHRASETO)
125+
assertSearchParam("columnName", "phraseto.val")
126+
}
127+
128+
@Test
129+
fun `text search with config`() {
130+
filterBuilder!!.textSearch("columnName", "val" ,TextSearchType.PHRASETO, "config")
131+
assertSearchParam("columnName", "phraseto(config).val")
132+
}
133+
134+
@Test
135+
fun `text search phrase to`() {
136+
filterBuilder!!.textSearch("columnName", "val" ,TextSearchType.PHRASETO)
137+
assertSearchParam("columnName", "phraseto.val")
138+
}
139+
140+
@Test
141+
fun `text search plain to`() {
142+
filterBuilder!!.textSearch("columnName", "val" ,TextSearchType.PLAINTO)
143+
assertSearchParam("columnName", "plainto.val")
144+
}
145+
146+
@Test
147+
fun `text search tsvector`() {
148+
filterBuilder!!.textSearch("columnName", "val" ,TextSearchType.TSVECTOR)
149+
assertSearchParam("columnName", "tsvector.val")
150+
}
151+
152+
@Test
153+
fun `text search websearch`() {
154+
filterBuilder!!.textSearch("columnName", "val" ,TextSearchType.WEBSEARCH)
155+
assertSearchParam("columnName", "websearch.val")
156+
}
157+
158+
@Test
159+
fun filter() {
160+
filterBuilder!!.filter("columnName", FilterOperator.ADJ, "val")
161+
assertSearchParam("columnName", "adj.val")
162+
}
163+
164+
@Test
165+
fun match() {
166+
filterBuilder!!.match(mapOf("foo" to "bar", "col" to 1))
167+
assertSearchParam("foo", "eq.bar")
168+
assertSearchParam("col", "eq.1")
169+
}
170+
55171
private fun assertSearchParam(name: String, value: String) {
56172
val searchParams = filterBuilder!!.getSearchParams()
57173
assertThat(searchParams[name]).isEqualTo(value)

0 commit comments

Comments
 (0)