jasmine + angular ex 12
events
by ronapelbaum
HTML
<script src="https://jasmine.github.io/2.4/lib/jasmine.js"></script>
<script src="https://jasmine.github.io/2.4/lib/jasmine-html.js"></script>
<script src="https://jasmine.github.io/2.4/lib/boot.js"></script>
<link rel="stylesheet" href="https://jasmine.github.io/2.4/lib/jasmine.css">
<script src="https://code.angularjs.org/1.4.9/angular.js"></script>
<script src="https://code.angularjs.org/1.4.9/angular-mocks.js"></script>
JavaScript
//--------------BL------------
(function() {
function MyController($rootScope) {
var that = this;
$rootScope.$on('greet', function() {
that.data = 'Hello World';
})
}
angular.module('MyModule', [])
.controller('MyController', ['$rootScope', MyController]);
})();
//--------------specs------------
describe("MyController spec", function() {
var $controller, $rootScope;
beforeEach(module('MyModule'));
beforeEach(inject(function(_$controller_, _$rootScope_) {
$controller = _$controller_;
$rootScope = _$rootScope_;
}));
it("greeting should change after event", function() {
var ctrl = $controller("MyController");
expect(ctrl.data).not.toBeDefined();
$rootScope.$broadcast('greet');
$rootScope.$apply();
expect(ctrl.data).toBe('Hello World');
});
});