mercredi 30 septembre 2015

Unit testing directive with AngularJS + Jasmine

I am a new to unit-testing with jasmine, so iI hope this makes sense and is correct enough to get an answer , I am trying to test an angularJS directive

here is my plunker : http://ift.tt/1iN3h3h

in my case i am unable to get the textbox(id="Montid") value

here is my angualr code

app.directive("monthNext", function () {

console.log('massif');
return {
    restrict: 'A',
    link: function (scope, element) {
        element.on('input', function () {
            var todaysYear = new Date();
            var u = todaysYear.getFullYear() - 2;

            if (element.val().length == 4)
            {

                var nextElement = element.next().next().next().next().next().next().next();
                nextElement = angular.element(document.querySelectorAll('#Montid'));

                if (element.val() <= u) {

                    console.log(element.children());
                    //var nextElement = angular.element(document.body).find('[tab index = 6]')
                    console.log(nextElement);
                    //nextElement.focus();

                    console.log(nextElement);
                    nextElement.val("");
                    nextElement[0].focus();
                }
                else
                {
                   // alert(nextElement.val());             
                    console.log(nextElement.val("01"));
                }
            }

        });
    }
};

});

here is my jasmine code

describe('CommonBusInfo', function () {
var element, scope, timeout;
beforeEach(function () {
    module('CommonBusInfo');

    inject(function ($rootScope, $compile) {
        scope = $rootScope.$new();
        element = angular.element('<form><input id="Montid" ng-model="test" value="09" type="text"/><input id="yearId" " type="text" value="2015" month-next/></form>');
        $compile(element)(scope);
        scope.$digest();
    });
});
it('should set Month value to 1', function () {
    var x = element.find('input');
        x.triggerHandler('input');
        scope.$digest();

}); }); i want to read Montid value to compare

Thank you, Chaitanya

Aucun commentaire:

Enregistrer un commentaire