La broma tiene problemas para usar con dependencias externas

votos
0

Estoy intentando probar reaccionar con código de Flujo utilizando broma. Soy bastante nuevo a la unidad de pruebas.

Creo que estoy haciendo algo mal con mis Burlándose de dependencias (para ser honesto la cosa de burla como que me confunde).

Esto es lo que estoy teniendo problemas con:

//LoginStore-test.js
jest.dontMock('../../constants/LoginConstants');
jest.dontMock('jsonwebtoken');
jest.dontMock('underscore');
jest.dontMock('../LoginStore');

describe(login Store, function(){
    var LoginConstants = require('../../constants/LoginConstants');
    var AppDispatcher;
    var LoginStore;
    var callback;
    var jwt = require('jsonwebtoken');

    var _user = {
        email: 'test@test.com'
    };

    //mock actions                                                                                                                                                                                                                            
    var actionLogin = {
        actionType: LoginConstants.LOGIN_USER,
        'jwt': jwt.sign(_user, 'shhh', { expiresInMinutes: 60*5 })
    };

    beforeEach(function(){
        AppDispatcher = require('../../dispatchers/AppDispatcher');
        LoginStore = require('../LoginStore');
        callback = AppDispatcher.register.mock.calls[0][0];
    });

    ...

    it('should save the user', function(){
        callback(actionLogin);
        var user = LoginStore.getUser();
        expect(user).toEqual(_user);
    });

});


});

LoginStore.js archivo:

var AppDispatcher = require('../dispatchers/AppDispatcher');
var BaseStore = require('./BaseStore');
var LoginConstants = require('../constants/LoginConstants.js');
var _ = require('underscore');
var jwt = require('jsonwebtoken');

//initiate some variables                                                                                                                                                                                                                     
var _user;
var _jwt;

var LoginStore = _.extend({}, BaseStore, {
    getUser: function(){
    return _user;
    }
});

AppDispatcher.register(function(action){

    switch(action.actionType){
    case LoginConstants.LOGIN_USER:
        //set the user                                                                                                                                                                                                                        
        _user = jwt.decode(action.jwt);
        //save the token                                                                                                                                                                                                                      
        _jwt = action.jwt;
    break;

    //do nothing with the default                                                                                                                                                                                                         
    default:
        return true;
    }

    LoginStore.emitChange();

    return true;

});

module.exports = LoginStore;

La jsonwebtokenfuncionalidad no parece estar funcionando en absoluto. Si me conecto actionLogin.jwtsimplemente devuelve undefined. ¿Alguna idea de lo que estoy haciendo mal aquí?

Aclamaciones

Publicado el 29/06/2015 a las 03:34
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
1

Después de un poco de búsqueda en todo, y en realidad tratando de averiguar una cuestión diferente que encontré la respuesta. solo agrega

"jest": {"modulePathIgnorePatterns": ["/node_modules/"]}

a su archivo package.json

Respondida el 30/06/2015 a las 03:47
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more