将身份验证令牌设置为chai-Http

时间:2016-11-03 04:49:36

标签: node.js express mocha chai

我在node express框架中创建了一些成功返回的测试用例。但是,有一些API调用需要在我可以进行身份​​验证之前进行身份验证。我可以通过ajax调用需要在reactJs中进行身份验证的API,并且它会给出成功响应,但是当我在chai-Http中设置相同的头时,它会失败并显示invalid token

var chai = require('chai');
var should = chai.should();
var chaiHttp = require('chai-http');

chai.use(chaiHttp);
var server = require('../app');   

describe('routes : index', function() {
var token = '';
beforeEach(function(done) {
     done();
});
before(function(done) {
    chai.request(server)
        .post('/doSignin')
        .send({uname:'ruzan@test.com',password:'123123'})
        .end(function(err, res) {
            res.redirects.length.should.equal(0);
            res.status.should.equal(200);
            token = res.body.user.token;
            res.type.should.equal('application/json');
            done();
        });
});

afterEach(function(done) {
    done();
});

describe('Test FolderController', function() {
    it('should list all the folders', function(done) {
        console.log(token); // here it print the same token
        chai.request(server)
            .get('/notes/get-notes')
            .set('prg-header' , token)
            .end(function(err, res) {
               // console.log(res);
                res.status.should.equal(200);
                done();
            });
    });
});
});

ReactJs:

$.ajax({
        url: '/notes/get-notes',
        method: "GET",
        dataType: "JSON",
        headers: { 'prg-header':loggedUser.token }
    }).done( function (data, text) {
        console.log(data);
        if(data.status.code == 200){
            // it come here the data
        }
    }.bind(this));

0 个答案:

没有答案