angular, jasmine and nools unit test

HTML

<link rel="stylesheet" href="//cdn.jsdelivr.net/jasmine/1.3.1/jasmine.css">
<script src="//cdn.jsdelivr.net/jasmine/1.3.1/jasmine.js"></script>
<script src="//cdn.jsdelivr.net/jasmine/1.3.1/jasmine-html.js"></script>
<script src="https://rawgit.com/mike-goodwin/owasp-threat-dragon/master/td/public/libs/nools/nools.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.js"></script> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular-mocks.js"></script>
<title>Jasmine Spec Runner</title>

JavaScript

var app = angular.module('app', []);
app.run(['$rootScope', function ($rootScope) {}]);

//threat engine service definition

var serviceId = 'threatengine';
var flow;
angular.module('app').factory(serviceId, ['$q', threatengine]);

function threatengine($q) {

    var service = { generateForElement: generateForElement };
    var Threats = function () { this.collection = []; }
    var Element = function (element) { this.type = element.attributes.type; }

    if (flow == null) { flow = initialiseFlow(); }

    return service;

    function generateForElement(element) {
        var threats = new Threats();
        var el = new Element(element);
        flow.getSession(threats, el).match();
        return $q.when(threats.collection);
    }

    function initialiseFlow() {
        return nools.flow('Element threat generation', function (flow) {

            flow.rule('Spoofing Threat Rule', [
                [Element, 'el', 'el.type == "tm.Process"'],
                [Threats, 'threats']
            ], function (facts) {
                facts.threats.collection.push('Spoofing');
            });

            flow.rule('Tampering Threat Rule', [
                [Element, 'el', 'el.type == "tm.Process"'],
                [Threats, 'threats']
            ], function (facts) {
                facts.threats.collection.push('Tampering');
            });
        });
    }
}

//test definition

describe('threatengine service', function () {

    var threatengine;
    var $rootScope;

    beforeEach(function () {

        angular.mock.module('app')

        angular.mock.inject(function (_$rootScope_,_threatengine_) {
            threatengine = _threatengine_;
            $rootScope = _$rootScope_;
        });

        $rootScope.$apply();
    });

    describe('threat generation tests', function () {

        it('process should generate two threats', function () {

            var element = { attributes: { type: 'tm.Process' }};
            var threats;
           ...