firestore-testing-helpers
TypeScript icon, indicating that this package has built-in type declarations

0.1.0 • Public • Published

Firestore Testing Helpers


This project is under development.

Please feel free to PullRequest and Issue.


This repository provides several helpers to facilitate testing in environments that use Firestore.

Installation

$ npm i -D firestore-testing-helpers

Emulator Connector Store

It provides an independent Firebase Connection for each test. Thus, you will be relieved from a very annoying test with runInBand.

import { FirebaseEmulatorConnectorStore } from "firestore-testing-helpers";
import { target } from '../path/to/test/target';


describe('User', () => {
  let connection;
  beforeAll(() => {
    connection = FirebaseEmulatorConnectorStore.getConnector().getAdminApp().firestore();
  });
...
});

Seeder

Helper to import fixture to firestore easily. It provides the ability to import specific data to a specific path as shown below.

import {Seeder} from 'firestore-testing-helpers';

export class UserSeeder extends Seeder {
  protected call() {
     return this.import('users', {
       john: {
         name: 'John',
         age: 28,
         __collections__: {}
       }
     });
  }
}

Seeder is very simple, just run the run method at test time.

import { FirebaseEmulatorConnectorStore } from "firestore-testing-helpers";
import { UserSeeder } from './fixtures/UserSeeder';

describe('User', () => {
  beforeAll(() => {
    return (new UserSeeder(FirestoreEmulatorConnectorStore.getConnector().getAdminFirestore())).run();
  });
...
});

Export

If you want to export the existing remote firestore data, please execute the following command.

$ firestore-export -a /path/to/serviceAccount.json -p collection/document

Package Sidebar

Install

npm i firestore-testing-helpers

Weekly Downloads

3

Version

0.1.0

License

MIT

Unpacked Size

23.3 kB

Total Files

21

Last publish

Collaborators

  • ytetsuro