tellform/public/modules/users/tests/unit/controllers/authentication.client.controller.test.js
2015-08-25 14:33:52 -07:00

181 lines
5.8 KiB
JavaScript

// 'use strict';
// (function() {
// // Forms Controller Spec
// describe('Authentication Controller Tests', function() {
// // Initialize global variables
// var AuthenticationController,
// scope,
// $httpBackend,
// $stateParams,
// $location,
// $state;
// var sampleUser = {
// firstName: 'Full',
// lastName: 'Name',
// email: 'test@test.com',
// username: 'test@test.com',
// password: 'password',
// provider: 'local',
// roles: ['user'],
// _id: 'ed873933b1f1dea0ce12fab9'
// };
// var sampleForm = {
// title: 'Form Title',
// admin: 'ed873933b1f1dea0ce12fab9',
// language: 'english',
// form_fields: [
// {fieldType:'textfield', title:'First Name', fieldValue: '', deletePreserved: false},
// {fieldType:'checkbox', title:'nascar', fieldValue: '', deletePreserved: false},
// {fieldType:'checkbox', title:'hockey', fieldValue: '', deletePreserved: false}
// ],
// _id: '525a8422f6d0f87f0e407a33'
// };
// var expectedForm = {
// title: 'Form Title',
// admin: 'ed873933b1f1dea0ce12fab9',
// language: 'english',
// form_fields: [
// {fieldType:'textfield', title:'First Name', fieldValue: '', deletePreserved: false},
// {fieldType:'checkbox', title:'nascar', fieldValue: '', deletePreserved: false},
// {fieldType:'checkbox', title:'hockey', fieldValue: '', deletePreserved: false}
// ],
// visible_form_fields: [
// {fieldType:'textfield', title:'First Name', fieldValue: '', deletePreserved: false},
// {fieldType:'checkbox', title:'nascar', fieldValue: '', deletePreserved: false},
// {fieldType:'checkbox', title:'hockey', fieldValue: '', deletePreserved: false}
// ],
// _id: '525a8422f6d0f87f0e407a33'
// };
// var sampleCredentials = {
// username: sampleUser.username,
// password: sampleUser.password,
// };
// // 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)
// };
// }
// };
// }
// });
// });
// // Load the main application module
// beforeEach(module(ApplicationConfiguration.applicationModuleName));
// beforeEach(module('stateMock'));
// // Mock Users Service
// beforeEach(module(function($provide) {
// $provide.service('User', function($q) {
// return {
// getCurrent: function() {
// var deferred = $q.defer();
// deferred.resolve( JSON.stringify(sampleUser) );
// return deferred.promise;
// },
// login: function(credentials) {
// var deferred = $q.defer();
// if( credentials.password === sampleUser.password && credentials.username === sampleUser.username){
// deferred.resolve( JSON.stringify(sampleUser) );
// }else {
// deferred.resolve('Error: User could not be loggedin');
// }
// return deferred.promise;
// },
// logout: function() {
// var deferred = $q.defer();
// deferred.resolve(null);
// return deferred.promise;
// },
// signup: function(credentials) {
// var deferred = $q.defer();
// if( credentials.password === sampleUser.password && credentials.username === sampleUser.username){
// deferred.resolve( JSON.stringify(sampleUser) );
// }else {
// deferred.resolve('Error: User could not be signed up');
// }
// return deferred.promise;
// }
// };
// });
// }));
// // Mock Authentication Service
// beforeEach(module(function($provide) {
// $provide.service('Auth', function() {
// return {
// ensureHasCurrentUser: function() {
// return sampleUser;
// },
// isAuthenticated: function() {
// return true;
// },
// getUserState: function() {
// return true;
// }
// };
// });
// }));
// // 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, _$state_, _$location_, _$stateParams_, _$httpBackend_, CurrentForm, Forms) {
// // Set a new global scope
// scope = $rootScope.$new();
// scope.abc = 'hello';
// // Point global variables to injected services
// $stateParams = _$stateParams_;
// $httpBackend = _$httpBackend_;
// $location = _$location_;
// $state = _$state_;
// // $httpBackend.whenGET(/\.html$/).respond('');
// $httpBackend.whenGET('/users/me/').respond('');
// // Initialize the Forms controller.
// AuthenticationController = $controller('AuthenticationController', { $scope: scope });
// }));
// it('$scope.signin should sigin in user with valid credentials', inject(function(Auth) {
// //Set $state transition
// // $state.expectTransitionTo('listForms');
// //Set POST response
// // $httpBackend.expect('POST', '/auth/signin', sampleCredentials).respond(200, sampleUser);
// scope.abc = 'sampleCredentials';
// //Run Controller Logic to Test
// scope.signin();
// // $httpBackend.flush();
// // Test scope value
// // expect(Auth.ensureHasCurrentUser()).toEqualData(sampleUser);
// }));
// });
// }());