diff options
Diffstat (limited to 'Firestore/Example/Tests/Integration/API/FIRDatabaseTests.m')
-rw-r--r-- | Firestore/Example/Tests/Integration/API/FIRDatabaseTests.m | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Firestore/Example/Tests/Integration/API/FIRDatabaseTests.m b/Firestore/Example/Tests/Integration/API/FIRDatabaseTests.m index d22552a..47ba95b 100644 --- a/Firestore/Example/Tests/Integration/API/FIRDatabaseTests.m +++ b/Firestore/Example/Tests/Integration/API/FIRDatabaseTests.m @@ -680,6 +680,40 @@ XCTAssertEqual(q.firestore, self.db); } +- (void)testDocumentReferenceEquality { + FIRFirestore *firestore = self.db; + FIRDocumentReference *docRef = [firestore documentWithPath:@"foo/bar"]; + XCTAssertEqualObjects([firestore documentWithPath:@"foo/bar"], docRef); + XCTAssertEqualObjects([docRef collectionWithPath:@"blah"].parent, docRef); + + XCTAssertNotEqualObjects([firestore documentWithPath:@"foo/BAR"], docRef); + + FIRFirestore *otherFirestore = [self firestore]; + XCTAssertNotEqualObjects([otherFirestore documentWithPath:@"foo/bar"], docRef); +} + +- (void)testQueryReferenceEquality { + FIRFirestore *firestore = self.db; + FIRQuery *query = + [[[firestore collectionWithPath:@"foo"] queryOrderedByField:@"bar"] queryWhereField:@"baz" + isEqualTo:@42]; + FIRQuery *query2 = + [[[firestore collectionWithPath:@"foo"] queryOrderedByField:@"bar"] queryWhereField:@"baz" + isEqualTo:@42]; + XCTAssertEqualObjects(query, query2); + + FIRQuery *query3 = + [[[firestore collectionWithPath:@"foo"] queryOrderedByField:@"BAR"] queryWhereField:@"baz" + isEqualTo:@42]; + XCTAssertNotEqualObjects(query, query3); + + FIRFirestore *otherFirestore = [self firestore]; + FIRQuery *query4 = [[[otherFirestore collectionWithPath:@"foo"] queryOrderedByField:@"bar"] + queryWhereField:@"baz" + isEqualTo:@42]; + XCTAssertNotEqualObjects(query, query4); +} + - (void)testCanTraverseCollectionsAndDocuments { NSString *expected = @"a/b/c/d"; // doc path from root Firestore. |