refs #6397 emailValidation #1941

Merged
carlossa merged 13 commits from 6397-emailValidation into dev 2024-02-01 17:45:54 +00:00
3 changed files with 30 additions and 3 deletions

View File

@ -336,5 +336,6 @@
"Incorrect pin": "Pin incorrecto",
"You already have the mailAlias": "Ya tienes este alias de correo",
"The alias cant be modified": "Este alias de correo no puede ser modificado",
"No tickets to invoice": "No hay tickets para facturar"
"No tickets to invoice": "No hay tickets para facturar",
"An email is necessary": "Es necesario un email"
}

View File

@ -1,3 +1,5 @@
const UserError = require('vn-loopback/util/user-error');
module.exports = function(Self) {
Self.remoteMethod('createWithUser', {
description: 'Creates both client and its web account',
@ -29,7 +31,11 @@ module.exports = function(Self) {
myOptions.transaction = tx;
}
const firstEmail = data.email ? data.email.split(',')[0] : null;
if (!data.email)
Review

@alexm valorares la opcio de posar-ho en back/models/vn-user.js com a una validacio nativa?

@alexm valorares la opcio de posar-ho en back/models/vn-user.js com a una validacio nativa?
Review

Per mi si, pero hi hauria que mirar els nulls que hi hajen com se comporta la restriccio, pq segurament qualsevol canvi en el model fallara

Per mi si, pero hi hauria que mirar els nulls que hi hajen com se comporta la restriccio, pq segurament qualsevol canvi en el model fallara
throw new UserError('An email is necessary');
const firstEmail = data.email.split(',')[0];
const user = {
name: data.userName,
email: firstEmail,

View File

@ -13,6 +13,8 @@ describe('Client Create', () => {
businessTypeFk: 'florist',
provinceFk: 1
};
const newAccountWithoutEmail = JSON.parse(JSON.stringify(newAccount));
delete newAccountWithoutEmail.email;
beforeAll(async() => {
const activeCtx = {
@ -48,6 +50,24 @@ describe('Client Create', () => {
}
});
it('should not create a new account', async() => {
const tx = await models.Client.beginTransaction({});
let error;
try {
const options = {transaction: tx};
await models.Client.createWithUser(newAccountWithoutEmail, options);
await tx.rollback();
} catch (e) {
error = e.message;
await tx.rollback();
carlossa marked this conversation as resolved
Review

La estructura no esta correcta, deuria ser:

         try{
            await funcioQueVolsProbar()
            await tx.rollback();
        } catch (e) {
            await tx.rollback();
            error = e;
        }

        expect(error.message).toEqual('Error que esperes');
La estructura no esta correcta, deuria ser: ``` try{ await funcioQueVolsProbar() await tx.rollback(); } catch (e) { await tx.rollback(); error = e; } expect(error.message).toEqual('Error que esperes'); ```
}
expect(error).toEqual(`An email is necessary`);
});
it('should create a new account', async() => {
const tx = await models.Client.beginTransaction({});