mirror of
https://github.com/laurent22/joplin.git
synced 2024-12-15 09:04:04 +02:00
47 lines
1.2 KiB
TypeScript
47 lines
1.2 KiB
TypeScript
import { afterAllTests, beforeAllDb, beforeEachDb, expectThrow } from './utils/testing/testUtils';
|
|
import { parseEnv } from './env';
|
|
|
|
describe('env', () => {
|
|
|
|
beforeAll(async () => {
|
|
await beforeAllDb('env');
|
|
});
|
|
|
|
afterAll(async () => {
|
|
await afterAllTests();
|
|
});
|
|
|
|
beforeEach(async () => {
|
|
await beforeEachDb();
|
|
});
|
|
|
|
it('should parse env values', async () => {
|
|
const result = parseEnv({
|
|
DB_CLIENT: 'pg',
|
|
POSTGRES_PORT: '123',
|
|
MAILER_ENABLED: 'true',
|
|
SIGNUP_ENABLED: 'false',
|
|
TERMS_ENABLED: '0',
|
|
ACCOUNT_TYPES_ENABLED: '1',
|
|
});
|
|
|
|
expect(result.DB_CLIENT).toBe('pg');
|
|
expect(result.POSTGRES_PORT).toBe(123);
|
|
expect(result.MAILER_ENABLED).toBe(true);
|
|
expect(result.SIGNUP_ENABLED).toBe(false);
|
|
expect(result.TERMS_ENABLED).toBe(false);
|
|
expect(result.ACCOUNT_TYPES_ENABLED).toBe(true);
|
|
});
|
|
|
|
it('should overrides default values', async () => {
|
|
expect(parseEnv({}).POSTGRES_USER).toBe('joplin');
|
|
expect(parseEnv({}, { POSTGRES_USER: 'other' }).POSTGRES_USER).toBe('other');
|
|
});
|
|
|
|
it('should validate values', async () => {
|
|
await expectThrow(async () => parseEnv({ POSTGRES_PORT: 'notanumber' }));
|
|
await expectThrow(async () => parseEnv({ MAILER_ENABLED: 'TRUE' }));
|
|
});
|
|
|
|
});
|