UNPKG

ts-migrate-mongoose

Version:

A migration framework for Mongoose, built with TypeScript.

58 lines (47 loc) 1.97 kB
import { beforeEach, describe, expect, it } from 'vitest' import { config } from 'dotenv' import { getEnv, getEnvBoolean, toCamelCase } from '../src/commander' import { Env } from '../src/types' // Load environment variables from .env file config({ path: '.env.test', quiet: true }) describe('Environment Variable Utilities', () => { beforeEach(() => { // Clear environment variables before each test delete process.env.MIGRATE_MODE delete process.env.migrateMode delete process.env.MIGRATE_CONFIG_PATH delete process.env.migrateConfigPath }) describe('toCamelCase', () => { it('should convert snake_case to camelCase', () => { expect(toCamelCase(Env.MIGRATE_CONFIG_PATH)).toBe('migrateConfigPath') expect(toCamelCase(Env.MIGRATE_MODE)).toBe('migrateMode') }) }) describe('getEnv', () => { it('should return the value of the environment variable', () => { process.env.MIGRATE_MODE = 'development' expect(getEnv(Env.MIGRATE_MODE)).toBe('development') }) it('should return the value of the camelCase environment variable', () => { process.env.migrateMode = 'development' expect(getEnv(Env.MIGRATE_MODE)).toBe('development') }) it('should return undefined if the environment variable is not set', () => { expect(getEnv(Env.MIGRATE_MODE)).toBeUndefined() }) }) describe('getEnvBoolean', () => { it('should return true if the environment variable is set to "true"', () => { process.env.MIGRATE_AUTOSYNC = 'true' expect(getEnvBoolean(Env.MIGRATE_AUTOSYNC)).toBe(true) }) it('should return undefined if the environment variable is not set to "true"', () => { process.env.MIGRATE_AUTOSYNC = 'false' expect(getEnvBoolean(Env.MIGRATE_AUTOSYNC)).toBeUndefined() }) it('should return undefined if the environment variable is not set', () => { expect(getEnvBoolean(Env.MIGRATE_AUTOSYNC)).toBeUndefined() }) }) })