使用mocha创建护照测试的错误

时间:2017-01-25 14:48:16

标签: mocha chai supertest

我一直在努力尝试使用Mocha和Passport进行测试。我在这里尝试了几篇文章,但我无法让它们发挥作用。 目前,我已经安装了supertest,我正在尝试。

interface A {
    x: number;
}

interface B extends A {
    y: number;
}

function fn(): B { return null }

let a: A = fn();

我无法创建临时用户进行测试,因此我认为我将不得不覆盖身份验证。但是,我遇到了这个问题。我找到了这个npm(https://github.com/jaredhanson/chai-passport-strategy),我正在尝试这是最新的。

这是我创建的测试工作正常。我不需要为它进行身份验证。

process.env.NODE_ENV = 'test';


var chai = require('chai');
var chaiHttp = require('chai-http');
var app = require('../app');
//var request = require('supertest')//(app);
//var server = request.agent(app);
//var Strategy = require('passport-strategy');
var Strategy = require('passport-local').Strategy;
var m_ticket_data = require('../model/ticket');
var m_Kbase_data = require('../model/Kbase');
var m_KbaseScript_schema = require('../model/KbaseScript');


var should = chai.should();
var expect = chai.expect;
chai.use(chaiHttp);
chai.use(require('chai-passport-strategy'));



describe('Ticket', function() {


    var user, info;

    before(function(done) {
      console.log("hello from strategy");
          chai.passport.use( new Strategy(function(username, password, done){
              console.log("hello from strategy2");
              done(null, { id: '1234' }, { scope: 'read' });
          }

          ))
            .success(function(u, i) {
              user = u;
              info = i;
              done();
            })
            .req(function(req) {
              //req.headers.authorization = 'Bearer vF9dft4qmT';
            })
            .authenticate();                

        done();
          });

    it ('blankout the database', function(done){
            m_ticket_data.remove({}, function(){
                  done();

            });

      });



      it('looks for a blank from /ticket/all', function (done) {
          chai.request('http://127.0.0.1:5000')
          .get('/ticket/all')
          .end(function (err, res) {
              res.status.should.equal(200);
              console.log(res.body);
              //expect(res.body).to.deep.equal({});
              done();
          });
      });

});

0 个答案:

没有答案