mockbase
Version:
Firebase v7+ mock.
48 lines (36 loc) • 1.85 kB
Markdown
# Mockbase
[](https://travis-ci.org/gustavohenke/mockbase)
[](https://coveralls.io/github/gustavohenke/mockbase)
Firebase v7+ mock. Great for unit testing and [Storybooks](https://storybook.js.org).
Built-in support for TypeScript included.
However, please note that not all features are implemented.
Take a look at the [implemented features table](#implemented-features) to find out what is available and what is not.
## How to use
Wherever you would use Firebase's app or its features, you pass a Mockbase app or feature instance:
```ts
const firebase = require("firebase");
function signInWithFacebook(firebaseAuth: firebase.auth.Auth) {
firebaseAuth.signInWithPopup(new firebase.auth.FacebookAuthProvider());
}
function addTodo(text: string, todoCollection: firebase.firestore.CollectionReference) {
return todoCollection.add({ text });
}
const MockApp = require("mockbase");
const app = new MockApp("app name");
signInWithFacebook(app.auth());
addTodo("Clean home up", app.firestore().collection("todo"));
```
## Implemented features
| Feature group | Status |
| ------------- | --------------------- |
| Analytics | ❌ Not implemented |
| Auth | ⚠️ Partly implemented |
| Database | ❌ Not implemented |
| Firestore | ✅ Implemented\* |
| Functions | ❌ Not implemented |
| Installations | ❌ Not implemented |
| Messaging | ❌ Not implemented |
| Performance | ❌ Not implemented |
| Remote config | ❌ Not implemented |
| Storage | ❌ Not implemented |
_\*_ There's no difference between server and cache, thus there won't be pending writes.