パッケージの詳細

cypress-mongo-seeder

arifaydogmus11kUnlicense1.0.8

A cypress plugin to populate a mongo db from json files

node, mongo, seed, cypress

readme

cypress-mongo-seeder

A tool to quickly populate your mongo db from a set of .json files. The package prepared for seed database before each test on Cypress. You can use as a Cypress plugin or independently.

Setup

$ npm install --save-dev cypress-mongo-seeder

or

$ yarn add --dev cypress-mongo-seeder

Usage

seedAll

Read all json files in specified directory and insert them to mongodb. (File names are collection names)

seedAll: (
  mongoUri: string,
  dataFolder: string,
  dropCollection?: boolean
) => Promise<any>;

As a Cypress plugin

cypress/plugins/index.js

const path = require('path');
const seeder = require('cypress-mongo-seeder');

const mongouri = 'mongodb://localhost:27017/dummy-db';
const folder = './data';
const dropCollections = true;

module.exports = on => {
  on('task', {
    'seed:database': () => {
      return seeder.seedAll(mongouri, folder, dropCollections);
    },
  });
};

seedSingleCollection

Reads a json file and inserts content to mongo. (File name is collection name )

seedSingleCollection: (
  mongoUri: string,
  fileAbsolutePath: string,
  dropCollection?: boolean
) => Promise<any>;
const path = require('path');
const seeder = require('../build');

const mongouri = 'mongodb://localhost:27017/dummy-main';
const fileFullPath = path.resolve(__dirname + '/data/users.json');
const dropCollection = true;

seeder
  .seedSingleCollection(mongouri, fileFullPath, dropCollection)
  .then(seeded => {
    console.log('Seeded -> ', seeded);
  });

Contributing

  1. Fork the project
  2. Add feature(s)
  3. Add tests for it
  4. Submit pull request

Enjoy!

更新履歴

Changelog

All notable changes to this project will be documented in this file. Dates are displayed in UTC.

Generated by auto-changelog.

1.0.8

25 August 2020

  • Changing logic of date field. When it's empty, change to current date. #6
  • initial release e2f5a70
  • Replace import method to readFileSync for preventing to seed with cached file 2aacb6c
  • Bump version 84b5d0c