UNPKG

@hexadrop/value-object

Version:

Hexagonal architecture utils library

41 lines (31 loc) 1 kB
import { faker } from '@faker-js/faker'; import NumberValueObject from './number.value-object'; class FakeNumberValueObject extends NumberValueObject {} class InvalidStringNumberValueObject extends NumberValueObject { constructor() { // @ts-expect-error - Testing purposes super('a'); } } class UndefinedStringNumberValueObject extends NumberValueObject { // eslint-disable-next-line typescript/no-useless-constructor -- Testing purposes constructor() { // @ts-expect-error - Testing purposes super(); } } export default class NumberValueObjectMother { static create(value: number): NumberValueObject { return new FakeNumberValueObject(value); } static invalidWithString(): NumberValueObject { return new InvalidStringNumberValueObject(); } static invalidWithUndefined(): NumberValueObject { return new UndefinedStringNumberValueObject(); } static random(): NumberValueObject { const value = faker.number.int(); return NumberValueObjectMother.create(value); } }