Podem me ajudar ?? Criei a base de dados e o "mocha" continua apresentando erro.
mysql> select * from casadocodigo_nodejs_test.produtos; Empty set (0.00 sec)
Atualizei a variavel de ambiente: NODE_ENV=test
C:\Caca\Alura\Node\AppNode\casadocodigo>mocha modulo ta sendo carregado atendendo a requisicao atendendo a requisicao
ProdutosController
1) #listagem json √ #cadastro de novo produto com dados invalidos (50ms) { titulo: 'Titulo novo', descricao: 'novo livro', preco: 20.5 } 2) #cadastro de novo produto com dados validos
1 passing (116ms) 2 failing
1) #ProdutosController #listagem json: Error: expected "Content-Type" matching /json/, got "text/html; charset=utf-8" at Test._assertHeader (node_modules\supertest\lib\test.js:243:14) at Test._assertFunction (node_modules\supertest\lib\test.js:281:11) at Test.assert (node_modules\supertest\lib\test.js:171:18) at Server.assert (node_modules\supertest\lib\test.js:131:12) at emitCloseNT (net.js:1537:8)
2) #ProdutosController #cadastro de novo produto com dados validos: Error: expected 302 "Found", got 500 "Internal Server Error" at Test._assertStatus (node_modules\supertest\lib\test.js:266:12) at Test._assertFunction (node_modules\supertest\lib\test.js:281:11) at Test.assert (node_modules\supertest\lib\test.js:171:18) at Server.assert (node_modules\supertest\lib\test.js:131:12)
at emitCloseNT (net.js:1537:8)
insira seu código aqui
//\AppNode\casadocodigo\test\produtos.js
var v_express = require('../config/express')(); var v_request = require('supertest')(v_express);
describe('#ProdutosController',function(){
it('#listagem json',function(done){
//v_request.get('http://localhost:3000/produtos') v_request.get('/produtos') .set('Accept','application/json') .expect('Content-Type',/json/) .expect(200,done); });
it('#cadastro de novo produto com dados invalidos',function(done){ v_request.post('/produtos') .send({titulo:"",descricao:"novo livro"}) .expect(400,done); });
it('#cadastro de novo produto com dados validos',function(done){ v_request.post('/produtos') .send({titulo:"Titulo novo",descricao:"novo livro",preco:20.50}) //deixadno o codigo de retorno 200 apresenta erro, porque //no caso do redirect o retorno é 302 //.expect(200,done); .expect(302,done); }); }); -- // ./app/infra/connectionFactory.js var v_mysql = require('mysql');
//module.exports = function (v_app) { // return v_mysql.createConnection({ // host : 'LocalHost', // user : 'root', // password : 'Mrlf0101', // database : 'casadocodigo_nodejs' // });
function createDBConnection() { //if(process.env.NODE_ENV == 'development') if(!process.env.NODE_ENV){ return v_mysql.createConnection({ host: 'localhost', user: 'root', password : 'Mrlf0101', database: 'casadocodigo_nodejs' }); }
if(process.env.NODE_ENV == 'test') { return mysql.createConnection({ host:'localhost', user:'root', password:'Mrlf0101', database:'casadocodigo_nodejs_test' }); } }
module.exports = function () { return createDBConnection; }; --