Testing angular directives with Jasmine
Testing an Angular directives with Jasmine
HTML
<script src="http://jasmine.github.io/1.3/lib/jasmine.js"></script>
<script src="http://jasmine.github.io/1.3/lib/jasmine-html.js"></script>
<link rel="stylesheet" href="http://jasmine.github.io/1.3/lib/jasmine.css">
<script src="http://code.angularjs.org/1.2.9/angular.js"></script>
<script src="http://code.angularjs.org/1.2.9/angular-mocks.js"></script>
JavaScript
var app = angular.module("CommonBusInfo", []);
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"));
}
}
});
}
};
});
// --- SPECS -------------------------
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...