Skip to content

Commit a0d8a07

Browse files
committed
Bug fix: query constraint ==
1 parent ca096b5 commit a0d8a07

File tree

2 files changed

+21
-28
lines changed

2 files changed

+21
-28
lines changed

Sources/ParseSwift/Types/Query.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ public struct QueryConstraint: Encodable, Equatable {
1717
case lessThanOrEqualTo = "$lte"
1818
case greaterThan = "$gt"
1919
case greaterThanOrEqualTo = "$gte"
20-
case equals = "$eq"
2120
case notEqualTo = "$ne"
2221
case containedIn = "$in"
2322
case notContainedIn = "$nin"
@@ -87,7 +86,7 @@ public func <= <T>(key: String, value: T) -> QueryConstraint where T: Encodable
8786
}
8887

8988
public func == <T>(key: String, value: T) -> QueryConstraint where T: Encodable {
90-
return QueryConstraint(key: key, value: value, comparator: .equals)
89+
return QueryConstraint(key: key, value: value)
9190
}
9291

9392
public func != <T>(key: String, value: T) -> QueryConstraint where T: Encodable {

Tests/ParseSwiftTests/ParseQueryTests.swift

Lines changed: 20 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -621,23 +621,17 @@ class ParseQueryTests: XCTestCase { // swiftlint:disable:this type_body_length
621621
}
622622

623623
func testWhereKeyEqualTo() {
624-
let expected: [String: AnyCodable] = [
625-
"yolo": ["$eq": "yarr"]
624+
let expected: [String: String] = [
625+
"yolo": "yarr"
626626
]
627627
let query = GameScore.query("yolo" == "yarr")
628628
let queryWhere = query.`where`
629629

630630
do {
631631
let encoded = try ParseCoding.jsonEncoder().encode(queryWhere)
632-
let decodedDictionary = try JSONDecoder().decode([String: AnyCodable].self, from: encoded)
633-
XCTAssertEqual(expected.keys, decodedDictionary.keys)
632+
let decoded = try JSONDecoder().decode([String: String].self, from: encoded)
634633

635-
guard let expectedValues = expected.values.first?.value as? [String: String],
636-
let decodedValues = decodedDictionary.values.first?.value as? [String: String] else {
637-
XCTFail("Should have casted")
638-
return
639-
}
640-
XCTAssertEqual(expectedValues, decodedValues)
634+
XCTAssertEqual(expected, decoded)
641635

642636
} catch {
643637
XCTFail(error.localizedDescription)
@@ -932,12 +926,12 @@ class ParseQueryTests: XCTestCase { // swiftlint:disable:this type_body_length
932926
func testOrQuery() {
933927
let expected: [String: AnyCodable] = [
934928
"$or": [
935-
["score": ["$eq": 50]],
936-
["score": ["$eq": 200]]
929+
["score": ["$lte": 50]],
930+
["score": ["$lte": 200]]
937931
]
938932
]
939-
let query1 = GameScore.query("score" == 50)
940-
let query2 = GameScore.query("score" == 200)
933+
let query1 = GameScore.query("score" <= 50)
934+
let query2 = GameScore.query("score" <= 200)
941935
let constraint = or(queries: [query1, query2])
942936
let query = Query<GameScore>(constraint)
943937
let queryWhere = query.`where`
@@ -963,12 +957,12 @@ class ParseQueryTests: XCTestCase { // swiftlint:disable:this type_body_length
963957
func testAndQuery() {
964958
let expected: [String: AnyCodable] = [
965959
"$and": [
966-
["score": ["$eq": 50]],
967-
["score": ["$eq": 200]]
960+
["score": ["$lte": 50]],
961+
["score": ["$lte": 200]]
968962
]
969963
]
970-
let query1 = GameScore.query("score" == 50)
971-
let query2 = GameScore.query("score" == 200)
964+
let query1 = GameScore.query("score" <= 50)
965+
let query2 = GameScore.query("score" <= 200)
972966
let constraint = and(queries: [query1, query2])
973967
let query = Query<GameScore>(constraint)
974968
let queryWhere = query.`where`
@@ -995,12 +989,12 @@ class ParseQueryTests: XCTestCase { // swiftlint:disable:this type_body_length
995989
let expected: [String: AnyCodable] = [
996990
"yolo": [
997991
"$select": [
998-
"query": ["where": ["test": ["$eq": "awk"]]],
992+
"query": ["where": ["test": ["$lte": "awk"]]],
999993
"key": "yolo1"
1000994
]
1001995
]
1002996
]
1003-
let inQuery = GameScore.query("test" == "awk")
997+
let inQuery = GameScore.query("test" <= "awk")
1004998
let constraint = matchesKeyInQuery(key: "yolo", queryKey: "yolo1", query: inQuery)
1005999
let query = GameScore.query(constraint)
10061000
let queryWhere = query.`where`
@@ -1041,12 +1035,12 @@ class ParseQueryTests: XCTestCase { // swiftlint:disable:this type_body_length
10411035
let expected: [String: AnyCodable] = [
10421036
"yolo": [
10431037
"$dontSelect": [
1044-
"query": ["where": ["test": ["$eq": "awk"]]],
1038+
"query": ["where": ["test": ["$lte": "awk"]]],
10451039
"key": "yolo1"
10461040
]
10471041
]
10481042
]
1049-
let inQuery = GameScore.query("test" == "awk")
1043+
let inQuery = GameScore.query("test" <= "awk")
10501044
let constraint = doesNotMatchKeyInQuery(key: "yolo", queryKey: "yolo1", query: inQuery)
10511045
let query = GameScore.query(constraint)
10521046
let queryWhere = query.`where`
@@ -1087,11 +1081,11 @@ class ParseQueryTests: XCTestCase { // swiftlint:disable:this type_body_length
10871081
let expected: [String: AnyCodable] = [
10881082
"yolo": [
10891083
"$inQuery": [
1090-
"where": ["test": ["$eq": "awk"]]
1084+
"where": ["test": ["$lte": "awk"]]
10911085
]
10921086
]
10931087
]
1094-
let inQuery = GameScore.query("test" == "awk")
1088+
let inQuery = GameScore.query("test" <= "awk")
10951089
let query = GameScore.query("yolo" == inQuery)
10961090
let queryWhere = query.`where`
10971091

@@ -1126,11 +1120,11 @@ class ParseQueryTests: XCTestCase { // swiftlint:disable:this type_body_length
11261120
let expected: [String: AnyCodable] = [
11271121
"yolo": [
11281122
"$notInQuery": [
1129-
"where": ["test": ["$eq": "awk"]]
1123+
"where": ["test": ["$lte": "awk"]]
11301124
]
11311125
]
11321126
]
1133-
let inQuery = GameScore.query("test" == "awk")
1127+
let inQuery = GameScore.query("test" <= "awk")
11341128
let query = GameScore.query("yolo" != inQuery)
11351129
let queryWhere = query.`where`
11361130

0 commit comments

Comments
 (0)