{:uriI"�file:///Users/ericcf/work/social_networking/spec/javascripts/social_networking/profile/profile-controller_spec.js?type=application/javascript&pipeline=self&id=66d998407dd5a85b70256b5d0c656af4913ddf5c56e2de5e036e7de50b53080f:ET:load_pathI":/Users/ericcf/work/social_networking/spec/javascripts;T:
filenameI"o/Users/ericcf/work/social_networking/spec/javascripts/social_networking/profile/profile-controller_spec.js;T:	nameI"6social_networking/profile/profile-controller_spec;T:logical_pathI">social_networking/profile/profile-controller_spec.self.js;T:content_typeI"application/javascript;T:sourceI"describe('ProfileCtrl', function() {
  var controller,
      mockAlertService,
      profileService,
      nudgeService,
      scope,
      q,
      deferred,
      deferredNudgeCreate,
      deferredProfileUpdate;
  
  beforeEach(function() {
    // load the module with the controller to test
    module('socialNetworking.controllers');

    mockAlertService = {
      addError: function() {}
    };
    profileService = {
      getOne: function(profileId) {
        deferred = q.defer();
        return deferred.promise;
      },
      update: function() {
        deferredProfileUpdate = q.defer();
        return deferredProfileUpdate.promise;
      }
    };
    nudgeService = {
      create: function() {
        deferredNudgeCreate = q.defer();
        return deferredNudgeCreate.promise;
      }
    };
  });

  beforeEach(inject(function($rootScope, $q, $controller) {
    scope = $rootScope;
    q = $q;
    controller = $controller('ProfileCtrl', {
      alertService: mockAlertService,
      profileId: 1,
      Profiles: profileService,
      Nudges: nudgeService
    });
  }));

  it('should set the id', function() {
    deferred.resolve({ id: '1' });
    scope.$digest();

    expect(controller.id).toBe('1');
  });

  it('displays alert message when nudge fails', function() {
    spyOn(mockAlertService, 'addError');
    controller.nudge();
    deferredNudgeCreate.reject({ data: { error: '' } });
    scope.$digest();

    expect(mockAlertService.addError).toHaveBeenCalled();
  });

  it('displays alert message when profile icon is not found', function() {
    spyOn(mockAlertService, 'addError');
    deferred.reject({ data: { error: '' } });
    scope.$digest();

    expect(mockAlertService.addError).toHaveBeenCalled();
  });

  it('displays alert message when profile updating fails', function() {
    spyOn(mockAlertService, 'addError');
    controller.updateProfileIcon('');
    deferredProfileUpdate.reject({ data: { error: '' } });
    scope.$digest();

    expect(mockAlertService.addError).toHaveBeenCalled();
  });
});
;T:
metadata{:dependencieso:Set:
@hash}	I"environment-version;TTI"environment-paths;TTI"Zprocessors:type=application/javascript&file_type=application/javascript&pipeline=self;TTI"}file-digest:///Users/ericcf/work/social_networking/spec/javascripts/social_networking/profile/profile-controller_spec.js;TTF:
requiredo;;}�F:stubbedo;;}�F:
linkso;;}�F:charsetI"
utf-8;F:digest"%|^f�Z���~�*���G���]�wN���3�:lengthi:dependencies_digest"%�-�[�3��9��O���yJXw�;jh)����:idI"E66d998407dd5a85b70256b5d0c656af4913ddf5c56e2de5e036e7de50b53080f;F:
mtimel+a�3W