aboutsummaryrefslogtreecommitdiff
path: root/src/test/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParserSuite.scala
diff options
context:
space:
mode:
authorvlad <vlad@driver.xyz>2017-08-28 10:54:39 -0700
committervlad <vlad@driver.xyz>2017-08-28 10:54:39 -0700
commit618d30aa8b2c80043525546ffe7a301b0398b30f (patch)
treecd56b5e7d59d33c6c451f85daf9730995886511a /src/test/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParserSuite.scala
parentb6f8b09dcc9b39f1ae9c94959c82e7eb21e37da6 (diff)
downloadrest-query-618d30aa8b2c80043525546ffe7a301b0398b30f.tar.gz
rest-query-618d30aa8b2c80043525546ffe7a301b0398b30f.tar.bz2
rest-query-618d30aa8b2c80043525546ffe7a301b0398b30f.zip
Fixing filter parser + testv0.3.6
Diffstat (limited to 'src/test/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParserSuite.scala')
-rw-r--r--src/test/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParserSuite.scala19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/test/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParserSuite.scala b/src/test/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParserSuite.scala
index 9ca2343..36f1c35 100644
--- a/src/test/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParserSuite.scala
+++ b/src/test/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParserSuite.scala
@@ -9,8 +9,11 @@ import org.scalacheck.Arbitrary.arbitrary
import org.scalacheck.{Gen, Prop}
import org.scalatest.FreeSpecLike
import org.scalatest.prop.Checkers
+import xyz.driver.pdsuicommon.db.SearchFilterNAryOperation.In
import xyz.driver.pdsuicommon.utils.Utils._
+import scala.util.Success
+
object SearchFilterParserSuite {
class UnexpectedSearchFilterExprException(x: SearchFilterExpr) extends Exception(s"unexpected $x")
@@ -22,6 +25,20 @@ class SearchFilterParserSuite extends FreeSpecLike with Checkers {
import SearchFilterParserSuite._
"parse" - {
+ "should convert column names to snake case" in {
+ import SearchFilterBinaryOperation._
+
+ val filter = SearchFilterParser.parse(Seq(
+ "filters" -> "status IN Summarized,ReviewCriteria,Flagged,Done",
+ "filters" -> "previousStatus NOTEQ New",
+ "filters" -> "previousStatus NOTEQ ReviewSummary"
+ ))
+
+ assert(filter === Success(SearchFilterExpr.Intersection(List(
+ SearchFilterExpr.Atom.NAry(Dimension(None, "status"), In, Seq("Summarized", "ReviewCriteria", "Flagged", "Done")),
+ SearchFilterExpr.Atom.Binary(Dimension(None, "previous_status"), NotEq, "New"),
+ SearchFilterExpr.Atom.Binary(Dimension(None, "previous_status"), NotEq, "ReviewSummary")))))
+ }
"dimensions" - {
"with table name" in check {
val dimensionGen = {
@@ -35,7 +52,7 @@ class SearchFilterParserSuite extends FreeSpecLike with Checkers {
val r = toSnakeCase(right)
SearchFilterParser.dimensionParser.parse(raw) match {
case Parsed.Success(Dimension(Some(`l`), `r`), _) => true
- case res => false
+ case _ => false
}
}
}