Skip to main content
zerotal

Documentation


Documentation / zerotal / testing / FactoryBatch

Class: FactoryBatch<T>

Defined in: packages/testing/src/factory.ts:227

Returned by Factory.count(n). create() returns Promise<T[]>.

Type Parameters

T

T extends BaseModel

Constructors

Constructor

new FactoryBatch<T>(_ModelClass, _definition, _config, _n): FactoryBatch<T>

Defined in: packages/testing/src/factory.ts:228

Parameters

_ModelClass

ModelCtor<T>

_definition

DefinitionFn<T>

_config

FactoryConfig<T>

_n

number

Returns

FactoryBatch<T>

Methods

state()

state(stateName): FactoryBatch<T>

Defined in: packages/testing/src/factory.ts:235

Parameters

stateName

string

Returns

FactoryBatch<T>


for()

for(model, foreignKey?): FactoryBatch<T>

Defined in: packages/testing/src/factory.ts:244

Parameters

model

BaseModel

foreignKey?

string

Returns

FactoryBatch<T>


afterCreate()

afterCreate(callback): FactoryBatch<T>

Defined in: packages/testing/src/factory.ts:255

Parameters

callback

(instance) => void | Promise<void>

Returns

FactoryBatch<T>


dispatchEvents()

dispatchEvents(): FactoryBatch<T>

Defined in: packages/testing/src/factory.ts:265

Enable observer and hook dispatch. Silent by default — see Factory.dispatchEvents().

Returns

FactoryBatch<T>


create()

create(overrides?): Promise<T[]>

Defined in: packages/testing/src/factory.ts:281

Insert n instances sequentially and return them as an array.

Sequential (not parallel) to stay compatible with SQLite's single-write last_insert_rowid() behaviour. For Postgres this constraint doesn't apply but serial inserts are correct on all databases.

Parameters

overrides?

Partial<InsertPayload<T>> = {}

Returns

Promise<T[]>