WIP on tests and query migration
This commit is contained in:
@@ -399,30 +399,78 @@ class QueryTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("count generates correctly")
|
||||
fun count() =
|
||||
assertEquals("SELECT COUNT(*) AS it FROM $tbl", Query.count(tbl), "Count query not constructed correctly")
|
||||
@DisplayName("Count.all generates correctly")
|
||||
fun countAll() =
|
||||
assertEquals("SELECT COUNT(*) AS it FROM $tbl", Query.Count.all(tbl), "Count query not constructed correctly")
|
||||
|
||||
@Test
|
||||
@DisplayName("exists generates correctly")
|
||||
fun exists() =
|
||||
assertEquals("SELECT EXISTS (SELECT 1 FROM $tbl WHERE turkey) AS it", Query.exists(tbl, "turkey"),
|
||||
"Exists query not constructed correctly")
|
||||
@DisplayName("Count.byFields generates correctly (PostgreSQL)")
|
||||
fun countByFieldsPostgres() {
|
||||
Configuration.connectionString = pg
|
||||
assertEquals("SELECT COUNT(*) AS it FROM $tbl WHERE data->>'test' = :field0",
|
||||
Query.Count.byFields(tbl, listOf(Field.equal("test", "", ":field0"))),
|
||||
"Count query not constructed correctly")
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("find generates correctly")
|
||||
fun find() =
|
||||
assertEquals("SELECT data FROM $tbl", Query.find(tbl), "Find query not constructed correctly")
|
||||
@DisplayName("Count.byFields generates correctly (PostgreSQL)")
|
||||
fun countByFieldsSQLite() {
|
||||
Configuration.connectionString = lite
|
||||
assertEquals("SELECT COUNT(*) AS it FROM $tbl WHERE data->>'test' = :field0",
|
||||
Query.Count.byFields(tbl, listOf(Field.equal("test", "", ":field0"))),
|
||||
"Count query not constructed correctly")
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Count.byContains generates correctly (PostgreSQL)")
|
||||
fun countByContainsPostgres() {
|
||||
Configuration.connectionString = pg
|
||||
assertEquals("SELECT COUNT(*) AS it FROM $tbl WHERE data @> :criteria", Query.Count.byContains(tbl),
|
||||
"Count query not constructed correctly")
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Count.byContains fails (SQLite)")
|
||||
fun countByContainsSQLite() {
|
||||
Configuration.connectionString = lite
|
||||
assertThrows<DocumentException> { Query.Count.byContains(tbl) }
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Count.byJsonPath generates correctly (PostgreSQL)")
|
||||
fun countByJsonPathPostgres() {
|
||||
Configuration.connectionString = pg
|
||||
assertEquals("SELECT COUNT(*) AS it FROM $tbl WHERE jsonb_path_exists(data, :path::jsonpath)",
|
||||
Query.Count.byJsonPath(tbl), "Count query not constructed correctly")
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Count.byJsonPath fails (SQLite)")
|
||||
fun countByJsonPathSQLite() {
|
||||
Configuration.connectionString = lite
|
||||
assertThrows<DocumentException> { Query.Count.byJsonPath(tbl) }
|
||||
}
|
||||
|
||||
// @Test
|
||||
// @DisplayName("exists generates correctly")
|
||||
// fun exists() =
|
||||
// assertEquals("SELECT EXISTS (SELECT 1 FROM $tbl WHERE turkey) AS it", Query.exists(tbl, "turkey"),
|
||||
// "Exists query not constructed correctly")
|
||||
|
||||
@Test
|
||||
@DisplayName("Find.all generates correctly")
|
||||
fun findAll() =
|
||||
assertEquals("SELECT data FROM $tbl", Query.Find.all(tbl), "Find query not constructed correctly")
|
||||
|
||||
@Test
|
||||
@DisplayName("update generates successfully")
|
||||
fun update() =
|
||||
assertEquals("UPDATE $tbl SET data = :data", Query.update(tbl), "Update query not constructed correctly")
|
||||
|
||||
@Test
|
||||
@DisplayName("delete generates successfully")
|
||||
fun delete() =
|
||||
assertEquals("DELETE FROM $tbl", Query.delete(tbl), "Delete query not constructed correctly")
|
||||
// @Test
|
||||
// @DisplayName("delete generates successfully")
|
||||
// fun delete() =
|
||||
// assertEquals("DELETE FROM $tbl", Query.delete(tbl), "Delete query not constructed correctly")
|
||||
|
||||
@Test
|
||||
@DisplayName("orderBy generates for no fields")
|
||||
|
||||
Reference in New Issue
Block a user