Meu teste sempre retorna o mesmo resultado
$ node_modules/mocha/bin/mocha
lancamentosController
- listagem json
0 passing (5ms)
1 pending
Meu teste sempre retorna o mesmo resultado
$ node_modules/mocha/bin/mocha
lancamentosController
- listagem json
0 passing (5ms)
1 pending
Meu código é o seguinte:
var http = require('http');
describe('lancamentosController', function(){
it('listagem json'), function(funcaoFinalizacao){
var configuracoes = {
hostname: 'localhost',
port: 3000,
path:'/registros',
headers: {
'Accept': 'application/json'
}
};
http.get(configuracoes, function(res){
if(res.statusCode == 200){
console.log('Status ok!');
}
console.log(res.headers['content-type']);
if(res.headers['content-type'] == 'application/json; charset=utf-8'){
console.log('content-type ok');
}
funcaoFinalizacao();
});
}
});
Oi José, esse código é específico seu? Pergunto só porque não vi relação dele com o do curso, aí faltou um pouco de contexto para ajudar mais. Pode disponibilizar o código completo? uma parte maior?
Agora assim, olhando só essa parte você faz apenas um get, então não tem muito motivo para o resultado mudar entre os testes.
Sim, Alberto, o código é meu e estou fazendo com base nas aulas. Ele é um pouco diferente sim, porque eu dou outros nomes a algumas rotas, mas na essência é o mesmo. Este é o código dos registros (eu chamo de lançamentos) dentro da pasta routes:
module.exports = function(app){
app.get('/registros',function(req,res){
var connection = app.infra.connectionFactory;
var LancamentoDAO = new app.infra.LancamentoDAO(connection);
LancamentoDAO.lista(function(err, results){
res.format({
html: function(){
res.render('registros/registros', {lista:results});
},
json: function(){
res.json(results);
}
});
});
connection.end();
});
app.get('/home',function(req,res){
res.render('home/home', {errosValidacao:{}, lancamento:{}});
});
app.post('/registros/salva', function(req,res){
var lancamento = req.body;
req.assert('datarotulo', 'É obrigatório o lançamento da data constante no rótulo').notEmpty();//validando campo
var erros = req.validationErrors();
if (erros) {
res.format({
html: function(){
res.status(400).render('home/home', {errosValidacao:erros, lancamento:lancamento});
},
json: function(){
res.status(400).json(erros);
}
});
return;
}
var connection = app.infra.connectionFactory;
var LancamentoDAO = new app.infra.LancamentoDAO(connection);
LancamentoDAO.salva(lancamento, function(erros, results){
console.log(erros);
res.redirect('/registros');
});
});
};
Aqui é o arquivo que cadastra os registros via terminal (no meu caso, ele cadastra lançamentos):
var http = require('http');
var configuracoes = {
hostname: 'localhost',
port: 3000,
path:'/registros/salva',
method: 'post',
headers: {
'Accept': 'application/json',
'Content-type': 'application/json'
}
};
var client = http.request(configuracoes, function(res){
console.log(res.statusCode);
res.on('data', function(body){
console.log('Corpo:'+body);
});
});
var lancamento = {
origem: 'ctce pernambuco',
servico: 'pac',
datarotulo: '',
status: 'DP',
log: '23/01/2018'
};
client.end(JSON.stringify(lancamento));
Por último, este é o código do test:
var http = require('http');
describe('lancamentosController', function(){
it('listagem json'), function(funcaoFinalizacao){
var configuracoes = {
hostname: 'localhost',
port: 3000,
path:'/registros',
headers: {
'Accept': 'application/json'
}
};
http.get(configuracoes, function(res){
if(res.statusCode == 200){
console.log('Status ok!');
}
console.log(res.headers['content-type']);
if(res.headers['content-type'] == 'application/json; charset=utf-8'){
console.log('content-type ok');
}
funcaoFinalizacao();
});
}
});