0.0.2 • Published 2 years ago

prisma-generate-test-utils v0.0.2

Weekly downloads
-
License
-
Repository
-
Last release
2 years ago

generate-test-utils

A Prisma generator to create some utility functions useful for writing unit/integration tests.

Usage

Include the generator in your prisma.schema file:

generator testUtilGenerator {
  provider = "prisma-generate-test-utils"
  output   = "../src/__testing__/prismaUtils.ts"
}

Then generate using the Prisma cli: prisma generate.

You'll now see some functions in the output file.

Generated Functions

For each Model in your Prisma schema we will generate the following functions:

makeX

Where X is the model name, e.g. for a User model this would be makeUser. This function will assemble an object of type X and randomly generate the values based on the types specified in the Prisma schema.

You can override the randomly generated values using the input arg.

The signature of this function is:

function makeX(input: Partial<X>): X {}

seedX

Where X is the model name, e.g. for a User model this would be seedUser. This function will assemble an object of type X and randomly generate the values based on the types specified in the Prisma schema and write it to your Database.

You can override the randomly generated values using the input arg.

The signature of this function is:

function seedX(input: Partial<X>): Promise<X> {}

seedNXs

Where X is the model name, e.g. for a User model this would be seedNUsers. This function will assemble n objects of type X and randomly generating different values based on the types specified in the Prisma schema and write all n objects to your Database.

You can override the randomly generated values using the input arg.

The signature of this function is:

function seedNXs(n: int, input: Partial<X>): Promise<X[]> {}

Random Value Generation

Based on the values in your Prisma schema we will randomly generate values for you.

// TODO: Document mapping between Prisma types and random generators when this has stabilised a bit.