test(user): write test for createAdmin

This commit is contained in:
Ali BARIN
2024-11-19 14:28:06 +00:00
committed by Faruk AYDIN
parent 58a569afb0
commit 8ca4bc5a33

View File

@@ -3,6 +3,7 @@ import { DateTime, Duration } from 'luxon';
import appConfig from '../config/app.js'; import appConfig from '../config/app.js';
import Base from './base.js'; import Base from './base.js';
import AccessToken from './access-token.js'; import AccessToken from './access-token.js';
import Config from './config.js';
import Connection from './connection.js'; import Connection from './connection.js';
import Execution from './execution.js'; import Execution from './execution.js';
import Flow from './flow.js'; import Flow from './flow.js';
@@ -1128,4 +1129,29 @@ describe('User model', () => {
expect(await user.getInvoices()).toStrictEqual([]); expect(await user.getInvoices()).toStrictEqual([]);
}); });
}); });
it.todo('getApps');
it('createAdmin should create admin with given data and mark the installation completed', async () => {
const adminRole = await createRole({ name: 'Admin' });
const markInstallationCompletedSpy = vi
.spyOn(Config, 'markInstallationCompleted')
.mockResolvedValue();
const adminUser = await User.createAdmin({
fullName: 'Sample admin',
email: 'admin@automatisch.io',
password: 'sample',
});
expect(adminUser).toMatchObject({
fullName: 'Sample admin',
email: 'admin@automatisch.io',
roleId: adminRole.id,
});
expect(markInstallationCompletedSpy).toHaveBeenCalledOnce();
expect(await adminUser.login('sample')).toBe(true);
});
}); });