MOON
Server: Apache
System: Linux vps.erhabenn.com.br 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64
User: machen (1008)
PHP: 8.2.31
Disabled: NONE
Upload Files
File: //matrixSwot/backend/__tests__/coverage/users/get/login.test.js
//Login
const request = require('supertest');
const app = require('../../../../appWs');
const btoa = require('btoa');

function validLogin(testName, email, password, status, type, result) {
	const jsonObj = {
		email,
		password
	}

	const form = JSON.stringify(jsonObj);
	const user = btoa(form);

	try {
		test(testName, async () => {
			const userData = await request(app).post('/users/login').send({user})

        const data = userData.body;

				expect(data.status).toEqual(status);
				expect(data[type]).toEqual(result);
		});
	}
	catch(error) {
		expect(error.toMatch('error'));
	}
}

function validLoginArray(testName, email, password, status, type, result) {
	const jsonObj = {
		email,
		password
	}

	const form = JSON.stringify(jsonObj);
	const user = btoa(form);

	try {
		test(testName, async () => {
			const userData = await request(app)
				.post('/users/login')
				.send({user})
				const data = userData.body;
				expect(data[0][type]).toEqual(result);
		});
	}
	catch(error) {
		expect(error.toMatch('error'));
	}
}

//testName, email, password, status, type, result
//USER LOGIN
validLogin('user login', 'free@sonne-consulting.com', '123aAa', 200, 'id', 439875);
//WRONG PASSWORD
validLogin('wrong password', 'free@sonne-consulting.com', '123aaa', 401, 'msg', 'Usuário ou senha incorretos');
//NOT REGISTERED EMAIL
validLogin('not registered email', 'fake@sonne-consulting.com', '123aAa', 400, 'msg', 'Usuário não encontrado');
//DELETED EMAIL
validLogin('deleted email', 'paulo.silva@sonne-consulting.com', '123aAa', 400, 'msg', 'Usuário não encontrado'); //Usuário inativo
//EXCEDED USER
validLogin('exceded email', 'exceeded@sonne-consulting.com', '123aAa', 401, 'msg', 'Número de usuários da conta excedido');


//EMPTY PASSWORD
validLoginArray('empty password', 'free@sonne-consulting.com', '', 401, 'msg', 'A senha não pode estar vazia.');
//EMPTY EMAIL
validLoginArray('empty email', '', '', 401, 'msg', 'O email não pode estar vazio.');
//INVALID EMAIL
validLoginArray('invalid email', 'free@123', '', 401, 'msg', 'O email não e válido.');