From 618d30aa8b2c80043525546ffe7a301b0398b30f Mon Sep 17 00:00:00 2001 From: vlad Date: Mon, 28 Aug 2017 10:54:39 -0700 Subject: Fixing filter parser + test --- .../pdsuicommon/parsers/SearchFilterParserSuite.scala | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'src/test/scala/xyz') 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 } } } -- cgit v1.2.3