UNPKG

slush-y

Version:

A slush generator for Best Practices with AngularJS Fullstack applications.

58 lines (51 loc) 2.06 kB
'use strict'; (function() { // <%= names.humanized %> Controller Spec describe('<%= names.humanized %> Controller Tests', function() { // Initialize global variables var <%= names.classed %>Controller, scope, $httpBackend, $stateParams, $location; // The $resource service augments the response object with methods for updating and deleting the resource. // If we were to use the standard toEqual matcher, our tests would fail because the test values would not match // the responses exactly. To solve the problem, we define a new toEqualData Jasmine matcher. // When the toEqualData matcher compares two objects, it takes only object properties into // account and ignores methods. beforeEach(function() { jasmine.addMatchers({ toEqualData: function(util, customEqualityTesters) { return { compare: function(actual, expected) { return { pass: angular.equals(actual, expected) }; } }; } }); }); // Then we can start by loading the main application module beforeEach(module(ApplicationConfiguration.applicationModuleName)); // The injector ignores leading and trailing underscores here (i.e. _$httpBackend_). // This allows us to inject a service but then attach it to a variable // with the same name as the service. beforeEach(inject(function($controller, $rootScope, _$location_, _$stateParams_, _$httpBackend_) { // Set a new global scope scope = $rootScope.$new(); // Point global variables to injected services $stateParams = _$stateParams_; $httpBackend = _$httpBackend_; $location = _$location_; // Initialize the <%= names.humanized %> controller. <%= names.classed %>Controller = $controller('<%= names.classed %>Controller', { $scope: scope }); })); it('Should do some controller test', inject(function() { // The test logic // ... })); }); }());