-
-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Roadmap to 2.0 #3
Comments
+1 Integration tests |
Would love to see some "helper methods" to create fixtures from tests. 😄 |
Hello @RobinCK, is support tree repository ready (as you checked in your list) ? I need this feature, if you have already developed, can you release it please (in 2.0.0-alpha by example) ? |
Looks like at the moment we cannot use |
+1 configure faker locale |
For those who are looking for a way to add custom and localized content to database, I share with you my workaround: Add a entity: User
processor: ../processor/user.processor.ts # <-- the `processor` folder is at the same level than `src`
items:
user{1..100}:
produit: '@produit{1..5}'
groupe: '@groupe{1..4}'
bio: '{{lorem.paragraph}}' In your processor, you can do the following (I let some of my custom methods and getters so you have an example of what you can do inside your processor):
import { IProcessor } from 'typeorm-fixtures-cli';
import { User } from '../src/user/user.entity';
import * as faker from 'faker';
faker.locale = 'fr'; // <-- Whatever locale you want
export default class UserProcessor implements IProcessor<User> {
private randomNumberBetween(min: number, max: number): number {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
private get nameEmail(): object {
const nom = faker.name.lastName();
const prenom = faker.name.firstName();
const email = `${prenom.toLowerCase()}.${nom.toLowerCase()}@domain.io`;
return { nom, prenom, email };
}
private get randomAddress(): string {
return `${this.randomNumberBetween(1, 100)} rue ${faker.address.streetName}`;
}
preProcess(name: string, object: any): any {
// Add any prop you want to customize in your fixture
return {
...object,
...this.nameEmail,
civilite: this.randomNumberBetween(1, 2),
telephone: faker.phone.phoneNumber,
adresse: this.randomAddress,
codePostal: faker.address.zipCode,
ville: faker.address.city,
};
}
postProcess(name: string, object: { [key: string]: any }): void {
// Do some processing after data is persisted
}
} P.S.: If you're looking for the original Hope it will help you guys! 🤘 |
optional dataThe text was updated successfully, but these errors were encountered: