diff --git a/src/PgQuery.hs b/src/PgQuery.hs index 663053770..d43b4694c 100644 --- a/src/PgQuery.hs +++ b/src/PgQuery.hs @@ -162,7 +162,7 @@ orderParse q = orderParseTerm :: Text -> Maybe OrderTerm orderParseTerm s = case split (=='.') s of - [d,c] -> + [c,d] -> if d `elem` ["asc", "desc"] then Just $ OrderTerm c $ if d == "asc" then "asc" else "desc" diff --git a/test/Feature/QuerySpec.hs b/test/Feature/QuerySpec.hs index 6efaceca6..37eb234d9 100644 --- a/test/Feature/QuerySpec.hs +++ b/test/Feature/QuerySpec.hs @@ -25,14 +25,14 @@ spec = beforeAll (clearTable "items" >> createItems 15) describe "ordering response" $ do it "by a column asc" $ - get "/items?id=lte.2&order=asc.id" + get "/items?id=lte.2&order=id.asc" `shouldRespondWith` ResponseMatcher { matchBody = Just "[{\"id\":1},{\"id\":2}]" , matchStatus = 200 , matchHeaders = ["Content-Range" <:> "0-1/2"] } it "by a column desc" $ - get "/items?id=lte.2&order=desc.id" + get "/items?id=lte.2&order=id.desc" `shouldRespondWith` ResponseMatcher { matchBody = Just "[{\"id\":2},{\"id\":1}]" , matchStatus = 200