Skip to content

Commit

Permalink
Merge pull request #208 from fluree/fix/group-by-with-order-by
Browse files Browse the repository at this point in the history
Add a test for groupBy with orderBy on a different value
  • Loading branch information
cap10morgan authored May 17, 2023
2 parents 639706e + cd7ca38 commit 11e168a
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 1 deletion.
3 changes: 2 additions & 1 deletion deps.edn
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
org.clojure/data.xml {:mvn/version "0.2.0-alpha8"}
com.fluree/alphabase {:mvn/version "3.3.0"}
;;com.fluree/db {:local/root "../db-2.x"}
com.fluree/db {:mvn/version "2.0.0"}
com.fluree/db {:git/url "https://github.com/fluree/db.git"
:git/sha "d556c623e7b7e55e43b7f316c28e17ae4e0b085f"}
com.fluree/raft {:mvn/version "1.0.0-beta1"}
com.fluree/crypto {:mvn/version "0.4.0"}

Expand Down
44 changes: 44 additions & 0 deletions test/fluree/db/ledger/query/analytical_test.clj
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,50 @@
(is (= (first subject) (second all-results))
"returns only subjects after the offset"))))))))

(deftest order-by-group-by
(testing "orderBy works with groupBy on a different value"
(let [ledger (test/rand-ledger test/ledger-chat)
_ (<?? (fdb/transact-async (:conn test/system) ledger
[{:_id "_predicate"
:name "_user/type"
:type "string"
:restrictCollection "_user"}]))
{:keys [block]} (<?? (fdb/transact-async (:conn test/system) ledger
[{:_id "_user$user2"
:_user/username "delta"
:_user/type "dog"}
{:_id "_user$user1"
:_user/username "zeta"
:_user/type "dog"}
{:_id "_user$user3"
:_user/username "beta"
:_user/type "dog"}
{:_id "_user$user4"
:_user/username "epsilon"
:_user/type "person"}
{:_id "_user$user5"
:_user/username "gamma"
:_user/type "person"}
{:_id "_user$user6"
:_user/username "alpha"
:_user/type "person"}]))
db (fdb/db (:conn test/system) ledger {:syncTo block})
query {:select ["?user" "?username" "?type"]
:where [["?user" "_user/username" "?username"]
["?user" "_user/type" "?type"]]
:orderBy "?username"
:groupBy "?type"}
results (<?? (fdb/query-async db query))]
(is (= {"person"
[[87960930223086 "alpha" "person"]
[87960930223084 "epsilon" "person"]
[87960930223085 "gamma" "person"]]
"dog"
[[87960930223083 "beta" "dog"]
[87960930223081 "delta" "dog"]
[87960930223082 "zeta" "dog"]]}
results)))))

(deftest with-filter-variable
(testing "filter with variable in where clause works"
(let [query {:select ["?name" "?isIndexed"]
Expand Down

0 comments on commit 11e168a

Please sign in to comment.