1.0.4 • Published 8 months ago

typeorm-fixturio v1.0.4

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

typeorm-fixturio

Installation

yarn add -D typeorm-fixturio

Options

OptionShortTypeDescription
recreatebooleanDetermines whether to recreate the database
runMigrationbooleanDetermines whether to run the migration
quietbooleanSuppresses console output during execution
autoPersistbooleanAutomatic entity saving
dataSourceFile-dstringPath to the orm data source file
containerFilestringPath to the container file
filePatternsstring[]Array of fixture patterns to match and process multiple files

For autoPersist flag you don't need to save entities manually you need just return the entities for saving in fixture' s install method. Notice that entity resolver can work only with a flat object and an array returned types. An example

async install(): Promise < UserFixtureResultOf > {
  const tag1 = new Tag('tag_1');
  const tag2 = new Tag('tag_1');

  return {tag1, tag1}
  //or
  return [tag2, tag2]
}

if autoPersist option is disabled the entities have to be saved manually. EntityManager is provided by default(configured from the dataSourceFile option).

import { FixtureInterface } from 'fixturio';
import { EntityManager } from 'typeorm';
import { User } from '../entity/User';

type UserFixtureResultOf = {
    readonly firstUser: User;
};

export class UserFixture implements FixtureInterface<UserFixtureResultOf>, DependencyInjectable {
    constructor(private readonly entityManager: EntityManager) {}

    getInjectDependencies(): readonly InjectDependency[] {
        return [EntityManager];
    }

    async install(): Promise<UserFixtureResultOf> {
        const firstUser = new User(1, 'user_1');

        await this.entityManager.save([firstUser]);

        return {
            firstUser,
        };
    }
}

An example how to run cli command

//package.json
...
"scripts": {
"prepare-database": "node -r ts-node/register -r tsconfig-paths/register ./node_modules/typeorm-fixturio/dist/cli.js -d ormconfig.ts --filePatterns 'tests/fixtures/**/*.ts' --recreate --runMigration"
}
//...

This library is based on https://github.com/pashak09/fixturio

Examples

Examples of usage can be found in examples folder

License

MIT

1.0.4

8 months ago

1.0.3

8 months ago

1.0.2

8 months ago

0.0.9

10 months ago

0.0.2

10 months ago