0.0.4 • Published 2 years ago

class-validator-mocker v0.0.4

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

class-validator-mocker

npm.io

Uses decorators from class-validator to generate objects filled with random values with types based on used decorators.

Usage

Once you have a class decorated with class-validator decorators, you can create a random mocked object using

const randomMockedObj = ClassValidatorMocker.create<DecoratedClass>(DecoratedClass);

Example

import {IsString, IsNumber, IsBoolean, IsUUID} from 'class-validator';
import {ClassValidatorMocker} from 'class-validator-mocker';

class MyClass {
    @IsString()
    stringProperty: string;

    @IsNumber()
    numberProperty: number;

    @IsBoolean()
    booleanProperty: boolean;

    @IsUUID()
    uuidProperty: string;
}

const myClassDataMock = ClassValidatorMocker.create<MyClass>(MyClass);

console.log(myClassDataMock);

This code could print something like

{
    stringProperty: '909f126026795c20df',
    numberProperty: 87310,
    booleanProperty: false,
    uuidProperty: 'd967f1b0-3457-4bac-a465-4e714ebe532a'
}

Passing partial object

The ClassValidatorMocker.create method accepts an optional argument - a partial object of the type being handled:

create<T>(constructor: new () => T, partial: Partial<T> = {}): T

If the two last lines from example above would be changed to

const myClassDataMock = ClassValidatorMocker.create<MyClass>(MyClass, { numberProperty: 12 });

console.log(myClassDataMock);

The printed object could change to something like

{
    stringProperty: '909f126026795c20df',
    numberProperty: 12,
    booleanProperty: false,
    uuidProperty: 'd967f1b0-3457-4bac-a465-4e714ebe532a'
}

Meaning that all properties have randomly generated values, except the numberProperty who came from partial parameter.

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago