prisma-generate-test-utils
v0.0.2
Published
A [Prisma generator](https://www.prisma.io/docs/concepts/components/prisma-schema/generators) to create some utility functions useful for writing unit/integration tests.
Downloads
2
Readme
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.