66 lines
2.2 KiB
JavaScript
66 lines
2.2 KiB
JavaScript
const app = require('../../../../../client/server/server');
|
|
const restoreFixtures = require('../../../../../../services/db/testing_fixtures');
|
|
|
|
describe('Client Create', () => {
|
|
let sqlStatements = {deletes: `
|
|
DELETE FROM vn.address WHERE nickname = 'Wade';
|
|
DELETE FROM vn.client WHERE name = 'Wade';
|
|
DELETE FROM account.user WHERE name = 'Deadpool';
|
|
`, inserts: ``, updates: ``};
|
|
|
|
beforeAll(() => {
|
|
restoreFixtures(sqlStatements);
|
|
});
|
|
|
|
afterAll(() => {
|
|
restoreFixtures(sqlStatements);
|
|
});
|
|
|
|
let newAccount = {
|
|
userName: 'Deadpool',
|
|
email: 'Deadpool@marvel.com',
|
|
fi: '16195279J',
|
|
name: 'Wade',
|
|
socialName: 'Deadpool Marvel'
|
|
};
|
|
|
|
it(`should not find Deadpool as he's not created yet`, async() => {
|
|
let account = await app.models.Account.findOne({where: {name: newAccount.userName}});
|
|
let client = await app.models.Client.findOne({where: {name: newAccount.name}});
|
|
|
|
expect(account).toEqual(null);
|
|
expect(client).toEqual(null);
|
|
});
|
|
|
|
it('should create a new account', async() => {
|
|
let client = await app.models.Client.createWithUser(newAccount);
|
|
let account = await app.models.Account.findOne({where: {name: newAccount.userName}});
|
|
|
|
expect(account.name).toEqual(newAccount.userName);
|
|
|
|
client = await app.models.Client.findOne({where: {name: newAccount.name}});
|
|
|
|
expect(client.id).toEqual(account.id);
|
|
expect(client.name).toEqual(newAccount.name);
|
|
expect(client.email).toEqual(newAccount.email);
|
|
expect(client.fi).toEqual(newAccount.fi);
|
|
expect(client.socialName).toEqual(newAccount.socialName);
|
|
});
|
|
|
|
it('should find an existing account', async() => {
|
|
let account = await app.models.Account.findOne({where: {name: newAccount.userName}});
|
|
|
|
expect(account.name).toEqual(newAccount.userName);
|
|
});
|
|
|
|
it('should not be able to create a user if exists', async() => {
|
|
try {
|
|
let client = await app.models.Client.createWithUser(newAccount);
|
|
|
|
expect(client).toBeNull();
|
|
} catch (err) {
|
|
expect(err.details.codes.name[0]).toEqual('uniqueness');
|
|
}
|
|
});
|
|
});
|