datafactoryjs
TypeScript icon, indicating that this package has built-in type declarations

2.2.1 • Public • Published

DataFactoryJs

CircleCI npm bundle size

Simple typescript factory for generating test data

Install

$ npm install --save-dev datafactoryjs

Usage

// Register models into the factory
 
const factory = require('datafactoryjs');
 
factory.register('user', () => {
    return {
        id: '1',
        name: 'John Smith'
    };
});
 
// Generate a model
 
const user = factory.createSingle('user');
 
// { id: '1', name: 'John Smith'}
 
 
// Generate N models
 
const users = factory.create('user', 2);
 
// [{ id: '1', name: 'John Smith' }, { id: '1', name: 'John Smith' }]

You can overwrite data with fixed attributes if you want to assert a value, this will match the keys of the original model by default or you can enable extending the model to allow new attributes

const users = factory.create('user', 1, {
    name: 'Joe Doe',
    superPower: 'Super Strong'
});
 
// [{ id:'1', name: 'Joe Doe' }]
 
// Can enable extending the original model
 
const users = factory.create('user', 1, { name: 'Joe Doe', superPower: 'Super Strong' }, true);
 
// [{ id:'1', name: 'Joe Doe', superPower: 'Super Strong' }]

The benefit of registering functions is being able to generate randomized data, I use Faker for this

const factory = require("datafactoryjs");
const faker = require('faker');
 
   factory.register('user', () => {
        return {
           id: faker.random.uuid(),
           name: faker.name.firstName(),
    }
 
    factory.create('user', 50);
 
// This will return an array of 50 unique users

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 2.2.1
    1
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 2.2.1
    1
  • 2.2.0
    11
  • 2.1.0
    0
  • 2.0.0
    0
  • 1.0.0
    0

Package Sidebar

Install

npm i datafactoryjs

Weekly Downloads

12

Version

2.2.1

License

MIT

Unpacked Size

10.9 kB

Total Files

8

Last publish

Collaborators

  • jacobsidford