SO question

Jasmine + Angular

by eitanp461

HTML

<script src="http://jasmine.github.io/2.0/lib/jasmine.js"></script>
<script src="http://jasmine.github.io/2.0/lib/jasmine-html.js"></script>
<script src="http://jasmine.github.io/2.0/lib/boot.js"></script>
<link rel="stylesheet" href="http://jasmine.github.io/2.0/lib/jasmine.css">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular-mocks.js"></script>

JavaScript

// Source
angular.module('TDE', [])
    .controller('LocationController', ['$scope', function ($scope) {

    $scope.BoolCondition = function (myCondition) {
        return true;
    }
}]);

// Test
describe('Unit: LocationController', function () {
    var $scope, $location, ctrl;
    beforeEach(function () {
        angular.mock.module('TDE');
        inject(function (_$location_, _$rootScope_, _$controller_) {
            $location = _$location_;
            $scope = _$rootScope_.$new();

            ctrl = _$controller_('LocationController', {
                '$scope': $scope
            })
        });
    });
    it("should just be a holder for something for later", function () {
        expect($scope.BoolCondition()).toBeDefined();
        expect($scope.BoolCondition()).toBeTruthy();
    });
})