define( ["../src/CompositionModelPolicy"], function (CompositionModelPolicy) { describe("The composition model policy", function () { var mockType, policy; beforeEach(function () { mockType = jasmine.createSpyObj('type', ['getInitialModel']); policy = new CompositionModelPolicy(); }); it("only allows composition for types which will have a composition property", function () { mockType.getInitialModel.andReturn({}); expect(policy.allow(mockType)).toBeFalsy(); mockType.getInitialModel.andReturn({ composition: [] }); expect(policy.allow(mockType)).toBeTruthy(); }); }); } );