mirror of
https://github.com/n8n-io/n8n.git
synced 2024-11-14 08:34:07 -08:00
7879239e03
* ➕ 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>
48 lines
1.3 KiB
TypeScript
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();
|
|
});
|