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

Commit

Permalink
Tests for filter builder
Browse files Browse the repository at this point in the history
  • Loading branch information
kevcodez committed Feb 2, 2021
1 parent 0f565c7 commit d986e94
Showing 1 changed file with 122 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import assertk.assertions.isEqualTo
import io.mockk.mockk
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
import kotlin.reflect.KProperty1

internal class PostgrestFilterBuilderTest {

Expand All @@ -17,41 +18,156 @@ internal class PostgrestFilterBuilderTest {
}

@Test
fun `not`() {
fun not() {
filterBuilder!!.not("columnName", FilterOperator.CD, "val")
assertSearchParam("columnName", "not.cd.val")
}

@Test
fun `or`() {
fun or() {
filterBuilder!!.or("fff")
assertSearchParam("or", "(fff)")
}

@Test
fun `eq`() {
fun eq() {
filterBuilder!!.eq("columnName", "val")
assertSearchParam("columnName", "eq.val")
}

@Test
fun `neq`() {
fun neq() {
filterBuilder!!.neq("columnName", "val")
assertSearchParam("columnName", "neq.val")
}

@Test
fun `gt`() {
fun gt() {
filterBuilder!!.gt("columnName", "val")
assertSearchParam("columnName", "gt.val")
}

@Test
fun `gte`() {
fun gte() {
filterBuilder!!.gte("columnName", "val")
assertSearchParam("columnName", "gte.val")
}

@Test
fun lt() {
filterBuilder!!.lt("columnName", "val")
assertSearchParam("columnName", "lt.val")
}

@Test
fun lte() {
filterBuilder!!.lte("columnName", "val")
assertSearchParam("columnName", "lte.val")
}

@Test
fun like(){
filterBuilder!!.like("columnName", "val")
assertSearchParam("columnName", "like.val")
}

@Test
fun ilike (){
filterBuilder!!.ilike("columnName", "val")
assertSearchParam("columnName", "ilike.val")
}

@Test
fun `is`() {
filterBuilder!!.`is`("columnName", true)
assertSearchParam("columnName", "is.true")
}

@Test
fun `in`() {
filterBuilder!!.`in`("columnName", listOf("val1", "val2"))
assertSearchParam("columnName", """in.("val1","val2")""")
}

@Test
fun rangeLt() {
filterBuilder!!.rangeLt("columnName", "val")
assertSearchParam("columnName", "sl.val")
}

@Test
fun rangeGt() {
filterBuilder!!.rangeGt("columnName", "val")
assertSearchParam("columnName", "sr.val")
}

@Test
fun rangeGte(){
filterBuilder!!.rangeGte("columnName", "val")
assertSearchParam("columnName", "nxl.val")
}

@Test
fun rangeLte(){
filterBuilder!!.rangeLte("columnName", "val")
assertSearchParam("columnName", "nxr.val")
}

@Test
fun adjacent() {
filterBuilder!!.adjacent("columnName", "val")
assertSearchParam("columnName", "adj.val")
}

@Test
fun `text search without config`() {
filterBuilder!!.textSearch("columnName", "val" ,TextSearchType.PHRASETO)
assertSearchParam("columnName", "phraseto.val")
}

@Test
fun `text search with config`() {
filterBuilder!!.textSearch("columnName", "val" ,TextSearchType.PHRASETO, "config")
assertSearchParam("columnName", "phraseto(config).val")
}

@Test
fun `text search phrase to`() {
filterBuilder!!.textSearch("columnName", "val" ,TextSearchType.PHRASETO)
assertSearchParam("columnName", "phraseto.val")
}

@Test
fun `text search plain to`() {
filterBuilder!!.textSearch("columnName", "val" ,TextSearchType.PLAINTO)
assertSearchParam("columnName", "plainto.val")
}

@Test
fun `text search tsvector`() {
filterBuilder!!.textSearch("columnName", "val" ,TextSearchType.TSVECTOR)
assertSearchParam("columnName", "tsvector.val")
}

@Test
fun `text search websearch`() {
filterBuilder!!.textSearch("columnName", "val" ,TextSearchType.WEBSEARCH)
assertSearchParam("columnName", "websearch.val")
}

@Test
fun filter() {
filterBuilder!!.filter("columnName", FilterOperator.ADJ, "val")
assertSearchParam("columnName", "adj.val")
}

@Test
fun match() {
filterBuilder!!.match(mapOf("foo" to "bar", "col" to 1))
assertSearchParam("foo", "eq.bar")
assertSearchParam("col", "eq.1")
}

private fun assertSearchParam(name: String, value: String) {
val searchParams = filterBuilder!!.getSearchParams()
assertThat(searchParams[name]).isEqualTo(value)
Expand Down

0 comments on commit d986e94

Please sign in to comment.