New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@point-hub/express-factory

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@point-hub/express-factory

Express factory

  • 1.1.4
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
7
decreased by-22.22%
Maintainers
1
Weekly downloads
 
Created
Source

Express Factory

@point-hub/express-factory is an ESM-only module - you are not able to import it with require().

Express model factories make it painless to create test database record using your application

Installation

npm install @faker-js/faker @point-hub/express-factory --save-dev

Usage

Create a factory file and implement your model definition, create, and createMany methods

import { faker } from "@faker-js/faker";
import Factory from "../index.js";
import { UserInterface } from "./user.model.js";
import UserService from "./user.service.js";

export default class UserFactory extends Factory<UserInterface> {
  definition() {
    return {
      name: faker.name.findName(),
      age: faker.datatype.number({
        min: 15,
        max: 50,
      }),
    };
  }

  async create() {
    return await new UserService().create(this.makeOne());
  }

  async createMany(count: number) {
    return new UserService().createMany(this.makeMany(count));
  }
}

Use your factory in your test file

// Create one user
new UserFactory().create();

// Create many users
new UserFactory().createMany(3);

Features

Make

Use the make method to create models without persisting them to the database

// Make one user without saving to database
new UserFactory().makeOne();
// Alias
new UserFactory().make();

// Make many users without saving to database
new UserFactory().makeMany(3);
// Alias
new UserFactory().make(3);

Sequences

Sometimes you may wish to alternate the value of a given model attribute for each created model. You may accomplish this by defining a state transformation as a sequence.

const userFactory = new UserFactory();
userFactory.sequence([
  { name: "John" },
  { name: "Jane" },
]);
userFactory.createMany(3);

State

State manipulation allow you to define discrete modifications that can be applied to your model factories in any combination.

const userFactory = new UserFactory();
userFactory.state({
  age: 21,
});
userFactory.create();

Keywords

FAQs

Package last updated on 31 Mar 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc