Jasmine und angularjs mit $cookies, Jasmin

Ich bin ziemlich neu zu Jasmin und wollte ein test für die folgenden unten habe ich den code in der test-Sektion, aber ich erhalte die Meldung "TypeError: Cannot set property 'username' of undefined"..

Erstellte ich einen global namespace 'cp' in apps.js und verwendet, dass in der Dienst-und controller.

//controller
cp.controller = {};
cp.controller.LoginController = function($scope, $location, $cookies){
        $scope.signIn = function(){
            $cookies.user = $scope.form.username;
            user.set($scope.form.username);
            $location.hash( "home" );
        }
};
//service 
cp.serviceFactory = {};
cp.serviceFactory.user = function user( $cookies){
    var userName = $cookies.user;
    return{
        set: function(name){
            userName = name;
        },
        get: function(){
            return userName;
        }
    }
};
//test script
describe('Cameo Controllers', function() {

    describe('LoginController', function(){
        var scope, cookies, ctrl, $httpBackend;
        beforeEach(module('CameoPaaS'));
        beforeEach(inject(function(_$httpBackend_, $rootScope, $controller, $cookies) {
            $httpBackend = _$httpBackend_;
           //cookies =  $cookies.username;
            scope = $rootScope.$new();
            cookies = scope.$cookies;
            ctrl = $controller(cp.controller.LoginController, {$scope: scope, $cookies: cookies});
        }));
        it('should log the user into the system', function() {
            expect(scope.username).toBeUndefined();
            scope.form.username = 'me';
            scope.signIn();
            //expect(user).toBe(undefined);
        });
    });
});

Frage: wie kann ich definieren, und setzen Sie den Wert für die $cookies.Benutzername in das test-Skript zu bekommen, um die Fehler.

InformationsquelleAutor user1741614 | 2012-10-12
Schreibe einen Kommentar