From eba90d0ee567531d4bbb22e39dc1de5b1cdcf5d3 Mon Sep 17 00:00:00 2001 From: Julien Date: Tue, 20 Sep 2022 02:14:19 +0200 Subject: [PATCH] feat: allow to pass custom locale for faker --- bin/test.ts | 2 +- packages/core/src/config.ts | 6 +++++- packages/japa-plugin/src/index.ts | 5 ++--- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/bin/test.ts b/bin/test.ts index bcf9888..9435d05 100644 --- a/bin/test.ts +++ b/bin/test.ts @@ -26,7 +26,7 @@ configure({ files: ['tests/**/*.spec.ts'], plugins: [ database({ database: connectionConfig }), - factorio({ database: connectionConfig }), + factorio({ database: connectionConfig, locale: 'fr' }), expect(), ], reporters: [specReporter({ stackLinesCount: 2 })], diff --git a/packages/core/src/config.ts b/packages/core/src/config.ts index 186ebe5..52712f5 100644 --- a/packages/core/src/config.ts +++ b/packages/core/src/config.ts @@ -1,4 +1,6 @@ import knex from 'knex' +import { faker } from '@faker-js/faker' +import type { UsableLocale } from '@faker-js/faker' import type { Knex } from 'knex' import type { FactorioConfig } from './contracts' @@ -14,7 +16,9 @@ export const factorioConfig = { * * Returns a function that can be used to clean up the connection. */ -export const defineFactorioConfig = (options: FactorioConfig) => { +export const defineFactorioConfig = (options: FactorioConfig & { locale?: UsableLocale }) => { + faker.locale = options.locale || faker.locale + factorioConfig.knex = knex(options.database) return () => { diff --git a/packages/japa-plugin/src/index.ts b/packages/japa-plugin/src/index.ts index e3f82b0..c2ad5f5 100644 --- a/packages/japa-plugin/src/index.ts +++ b/packages/japa-plugin/src/index.ts @@ -1,9 +1,8 @@ import { defineFactorioConfig } from '@julr/factorio' -import type { Knex } from 'knex' import type { PluginFn } from '@japa/runner' -export function factorio({ database }: { database: Knex.Config }): PluginFn { - const disconnect = defineFactorioConfig({ database }) +export function factorio(options: Parameters[0]): PluginFn { + const disconnect = defineFactorioConfig(options) return async function (config) { config.teardown.push(disconnect)