mirror of
https://github.com/zhigang1992/react-native-firebase.git
synced 2026-04-07 22:41:04 +08:00
[tests][ios] misc firestore transactions
This commit is contained in:
@@ -125,7 +125,6 @@ RCT_EXPORT_METHOD(transactionBegin:(NSString *)appDisplayName
|
||||
eventMap[@"appName"] = appDisplayName;
|
||||
[RNFirebaseUtil sendJSEvent:self name:FIRESTORE_TRANSACTION_EVENT body:eventMap];
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
// wait for the js event handler to call transactionApplyBuffer
|
||||
@@ -136,6 +135,10 @@ RCT_EXPORT_METHOD(transactionBegin:(NSString *)appDisplayName
|
||||
|
||||
@synchronized (transactionState) {
|
||||
aborted = [transactionState valueForKey:@"abort"];
|
||||
|
||||
if (transactionState[@"semaphore"] != semaphore) {
|
||||
return nil;
|
||||
}
|
||||
|
||||
if (aborted == YES) {
|
||||
*errorPointer = [NSError errorWithDomain:FIRFirestoreErrorDomain code:FIRFirestoreErrorCodeAborted userInfo:@{}];
|
||||
@@ -150,10 +153,6 @@ RCT_EXPORT_METHOD(transactionBegin:(NSString *)appDisplayName
|
||||
if (completed == YES) {
|
||||
return nil;
|
||||
}
|
||||
|
||||
if (transactionState[@"semaphore"] != semaphore) {
|
||||
return nil;
|
||||
}
|
||||
|
||||
NSArray *commandBuffer = [transactionState valueForKey:@"commandBuffer"];
|
||||
|
||||
@@ -182,6 +181,7 @@ RCT_EXPORT_METHOD(transactionBegin:(NSString *)appDisplayName
|
||||
}
|
||||
} completion:^(id result, NSError *error) {
|
||||
if (completed == YES) return;
|
||||
completed = YES;
|
||||
|
||||
@synchronized (transactionState) {
|
||||
if (aborted == NO) {
|
||||
@@ -202,7 +202,6 @@ RCT_EXPORT_METHOD(transactionBegin:(NSString *)appDisplayName
|
||||
[self->_transactions removeObjectForKey:[transactionId stringValue]];
|
||||
}
|
||||
|
||||
completed = YES;
|
||||
}];
|
||||
}
|
||||
|
||||
|
||||
@@ -7,7 +7,9 @@ describe('firestore()', () => {
|
||||
const docRef = testDocRef('tSet');
|
||||
|
||||
const updateFunction = async transaction => {
|
||||
const doc = await transaction.get(docRef);
|
||||
let doc;
|
||||
// TODO test multiple gets
|
||||
doc = await transaction.get(docRef);
|
||||
if (!doc.exists) {
|
||||
transaction.set(docRef, { value: 1, somethingElse: 'set' });
|
||||
return 1;
|
||||
|
||||
Reference in New Issue
Block a user