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

@ -72,7 +72,7 @@
"The secret can't be blank": "La contraseña no puede estar en blanco",
"We weren't able to send this SMS": "No hemos podido enviar el SMS",
"This client can't be invoiced": "Este cliente no puede ser facturado",
"You must provide the correction information to generate a corrective invoice": "Debes informar la información de corrección para generar una factura rectificativa",
"You must provide the correction information to generate a corrective invoice": "Debes informar la información de corrección para generar una factura rectificativa",
"This ticket can't be invoiced": "Este ticket no puede ser facturado",
"You cannot add or modify services to an invoiced ticket": "No puedes añadir o modificar servicios a un ticket facturado",
"This ticket can not be modified": "Este ticket no puede ser modificado",
@ -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"
carlossa marked this conversation as resolved Outdated
Outdated
Review

Falta traducir

Falta traducir
Outdated
Review

Falta traducir

Falta traducir
}

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');
carlossa marked this conversation as resolved Outdated
Outdated
Review

Esto se puede refactorizar y dejar sin if else

Esto se puede refactorizar y dejar sin if else
carlossa marked this conversation as resolved Outdated
Outdated
Review

Aqui como este codigo siempre va a tener data.email se puede quitar el hacer ? : (if else)

Aqui como este codigo siempre va a tener data.email se puede quitar el hacer ? : (if else)
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));
carlossa marked this conversation as resolved Outdated
Outdated
Review

Si vas a gasstar dos vegades lo mateix pero canviant un parametre.
Pots fer clonarte el objecte i modficar soles lo que vols
Teu vaig dir en persona

Si vas a gasstar dos vegades lo mateix pero canviant un parametre. Pots fer clonarte el objecte i modficar soles lo que vols Teu vaig dir en persona
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({});