def test_transaction_delete_documentDoesNotExistAfterDelete(self):
     doc = self.fs.collection('foo').document('first')
     with Transaction(self.fs) as transaction:
         transaction._begin()
         transaction.delete(doc)
     doc = self.fs.collection('foo').document('first').get()
     self.assertEqual(False, doc.exists)
 def test_transaction_update_changeExistingValue(self):
     doc = self.fs.collection('foo').document('first')
     with Transaction(self.fs) as transaction:
         transaction._begin()
         transaction.update(doc, {'updated': False})
     updated_doc = {'id': 1, 'updated': False}
     self.assertEqual(doc.get().to_dict(), updated_doc)
 def test_transaction_set_mergeNewValue(self):
     doc = self.fs.collection('foo').document('first')
     with Transaction(self.fs) as transaction:
         transaction._begin()
         transaction.set(doc, {'updated': True}, merge=True)
     updated_doc = {'id': 1, 'updated': True}
     self.assertEqual(doc.get().to_dict(), updated_doc)
 def test_transaction_set_setsContentOfDocument(self):
     doc_content = {'id': '3'}
     doc_ref = self.fs.collection('foo').document('third')
     with Transaction(self.fs) as transaction:
         transaction._begin()
         transaction.set(doc_ref, doc_content)
     self.assertEqual(doc_ref.get().to_dict(), doc_content)
 def test_transaction_getQuery(self):
     with Transaction(self.fs) as transaction:
         transaction._begin()
         query = self.fs.collection('foo').order_by('id')
         returned_docs = [doc.to_dict() for doc in transaction.get(query)]
         query = self.fs.collection('foo').order_by('id')
         expected_docs = [doc.to_dict() for doc in query.stream()]
         self.assertEqual(returned_docs, expected_docs)
 def test_transaction_getAll(self):
     with Transaction(self.fs) as transaction:
         transaction._begin()
         docs = [
             self.fs.collection('foo').document(doc_name)
             for doc_name in self.fs._data['foo']
         ]
         results = list(transaction.get_all(docs))
         returned_docs_snapshots = [result.to_dict() for result in results]
         expected_doc_snapshots = [doc.get().to_dict() for doc in docs]
         for expected_snapshot in expected_doc_snapshots:
             self.assertIn(expected_snapshot, returned_docs_snapshots)
 def test_transaction_getDocument(self):
     with Transaction(self.fs) as transaction:
         transaction._begin()
         doc = self.fs.collection('foo').document('first')
         returned_doc = next(transaction.get(doc))
         self.assertEqual(doc.get().to_dict(), returned_doc.to_dict())