lundi 27 juillet 2015

How to get my unit test working for the service?

Trying to create a unit test for my service which has a promise/timeout built in:

app.factory('myServiceTimeout', function ($q, $timeout) {
    var callMe = function (user) {
        var pr = $q.defer();

        $timeout(function(){
            pr.resolve('Hello ' + user);
            return pr.promise;
        },4000);

    }
    return {callMe: callMe};
});

The unit test looks like this:

  it('test2',function(){
        var result;
        myServiceTimeout.callMe('Ruud').then(function(ret)
        {
            result = ret;
        });

        $rootScope.$apply();
        expect(result).toBe('Hello Ruud');
    });

Why am I getting an error now since a test for a similar service without the timeout passes? This is the error:

TypeError: Unable to get property 'then' of undefined or null reference

plunker:http://ift.tt/1Sayu0k

Aucun commentaire:

Enregistrer un commentaire