Firebase Stub: introduced a delay in all async functions to better mimic real Firebase

This commit is contained in:
gianantoniopini
2021-01-21 16:45:33 +01:00
parent 562a07619c
commit af966bdf7b
6 changed files with 42 additions and 18 deletions

View File

@ -4,6 +4,7 @@ import { debounce } from 'lodash';
import DatabaseConstants from '../constants/database';
import DataSnapshot from './dataSnapshot';
import delay from '../utils/index';
const parsePath = (path) => {
if (!path) {
@ -183,9 +184,7 @@ class Reference {
throw new Error('eventType should be a string.');
}
await new Promise((resolve) =>
setTimeout(resolve, DatabaseConstants.defaultDelayInMilliseconds),
);
await delay(DatabaseConstants.defaultDelayInMilliseconds);
return Promise.resolve(this._dataSnapshot);
}
@ -196,21 +195,27 @@ class Reference {
}
async update(value) {
await delay(DatabaseConstants.defaultDelayInMilliseconds);
this._handleDataUpdate(value);
return Promise.resolve(true);
return Promise.resolve();
}
async remove() {
await delay(DatabaseConstants.defaultDelayInMilliseconds);
this._handleDataUpdate(null);
return Promise.resolve(true);
return Promise.resolve();
}
async set(value) {
await delay(DatabaseConstants.defaultDelayInMilliseconds);
this._handleDataUpdate(value);
return Promise.resolve(true);
return Promise.resolve();
}
}