n8n/packages/cli/test/integration/commands/reset.cmd.test.ts
Iván Ovejero 7879239e03
test: Make oclif commands testable (#3571)
*  Add `@oclif/core`

* 📦 Update `package-lock.json`

* 📘 Export `Logger` for use as type

*  Create `BaseCommand`

* 🐛 Prevent DB re-init

* ♻️ Refactor `reset` command

* 🧪 Fix `reset` test

* 👕 Add lint exception

Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com>
2022-06-25 21:03:46 -07:00

48 lines
1.3 KiB
TypeScript

import express from 'express';
import { Db } from '../../../src';
import { Reset } from '../../../commands/user-management/reset';
import * as utils from '../shared/utils';
import * as testDb from '../shared/testDb';
import type { Role } from '../../../src/databases/entities/Role';
let app: express.Application;
let testDbName = '';
let globalOwnerRole: Role;
beforeAll(async () => {
app = await utils.initTestServer({ endpointGroups: ['owner'], applyAuth: true });
const initResult = await testDb.init();
testDbName = initResult.testDbName;
globalOwnerRole = await testDb.getGlobalOwnerRole();
});
beforeEach(async () => {
await testDb.truncate(['User'], testDbName);
});
afterAll(async () => {
await testDb.terminate(testDbName);
});
test('user-management:reset should reset DB to default user state', async () => {
await testDb.createUser({ globalRole: globalOwnerRole });
await Reset.run();
const user = await Db.collections.User.findOne({ globalRole: globalOwnerRole });
if (!user) {
fail('No owner found after DB reset to default user state');
}
expect(user.email).toBeNull();
expect(user.firstName).toBeNull();
expect(user.lastName).toBeNull();
expect(user.password).toBeNull();
expect(user.resetPasswordToken).toBeNull();
expect(user.resetPasswordTokenExpiration).toBeNull();
expect(user.personalizationAnswers).toBeNull();
});