Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (function () {
- "use strict"
- angular
- .module("myApp")
- .controller("userCtrl",['$scope', '$state', 'userService', 'appSettings','md5','currentUser','$rootScope',
- function ($scope, $state, userService, appSettings,md5,currentUser, $rootScope) {
- $scope.login = function() {
- $scope.loading = true;
- if($scope.password != null){
- var user ={
- username:$scope.username,
- password:md5.createHash($scope.password)
- }
- var getData = userService.login(user);
- getData.then(function (response) {
- console.log(response);
- $scope.loading = false;
- currentUser.setProfile(user.username, response.data.sessionId);
- $state.go('videos');
- }, function (response) {
- console.log(response.data);
- });
- }else{
- $scope.msg = "Password field is empty!"
- }
- }
- }])
- }());
- 'use strict';
- describe('userCtrl', function() {
- beforeEach(module('myApp'));
- var scope, userCtrl, apiService,q, deferred, currentUser;
- describe('$scope.login', function(){
- beforeEach(function(){
- apiService = {
- login: function () {
- deferred = q.defer();
- return deferred.promise;
- };
- };
- });
- beforeEach(inject(function($controller, $rootScope, $q, _currentUser_){
- var user ={name:'ali',password:'password'};
- scope = $rootScope.$new();
- q = $q;
- // The injector unwraps the underscores (_) from around the parameter names when matching
- userCtrl = $controller('userCtrl', {
- $scope:scope,
- userService:apiService
- });
- //userService = _userService_;
- currentUser = _currentUser_;
- }));
- it('should call user service login', function() {
- spyOn(apiService, 'login').and.callThrough();
- scope.login();
- deferred.resolve(user);
- expect(apiService.login).toHaveBeenCalled();
- });
- it('checks the password field', function() {
- scope.login();
- expect(scope.msg).toEqual('Password field is empty!');
- });
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement