Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 未定义的$PROMITE。然后是茉莉花_Angularjs_Karma Jasmine - Fatal编程技术网

Angularjs 未定义的$PROMITE。然后是茉莉花

Angularjs 未定义的$PROMITE。然后是茉莉花,angularjs,karma-jasmine,Angularjs,Karma Jasmine,我在控制器中的一个函数中有一个服务查询,它返回一个承诺。但是,“我的规格”不断返回以下错误: TypeError:“未定义”不是对象(正在计算) 'staffUsers.query().$promise.then') 我的规格: 'use strict'; describe('Controller: ManagePermissionsController', function () { beforeEach(module('MessagingAppApp')); var scope =

我在控制器中的一个函数中有一个服务查询,它返回一个承诺。但是,“我的规格”不断返回以下错误:

TypeError:“未定义”不是对象(正在计算) 'staffUsers.query().$promise.then')

我的规格:

'use strict';

describe('Controller: ManagePermissionsController', function () {
  beforeEach(module('MessagingAppApp'));
  var scope = null,
    ctrl = null,
    httpBackend = null,
    $q,
    deferred,
    mockService,
    mockServiceFacility,
    staffUserMock,
    $controller,
    baseUrl,
    regex;
  mockService = {
    update: function () {
      return 'ok';
    }
  };
  mockServiceFacility = {
    get: function(){
      return [{_id: 'dfn-777', name: 'Test Facility'}];
    }
  };
  staffUserMock = {
    query: function () {
      return [{
        "userIdentifier": {
          "uniqueId": "1",
          "assigningAuthority": "dfn-777"
        },
        "roles": ["admin", "bcm_admin"],
        "firstName": "Test",
        "lastName": "User",
        "middleName": null
      }];
    }
  };
  beforeEach(inject(function ($injector, _$httpBackend_, $rootScope, $controller) {
    scope = $injector.get('$rootScope');
    $controller = $injector.get('$controller');
    httpBackend = _$httpBackend_;

    ctrl = $controller('ManagePermissionsController', {
      $scope: scope,
      staffManagement: mockService,
      facilityService: mockServiceFacility,
      staffUsers: staffUserMock
    });


    httpBackend.when('GET', 'manage/managePermissions.tpl.html').respond(204);
    httpBackend.when('GET', 'scripts/modules/connection/connection_error.tmpl.html').respond(204);
    httpBackend.when('GET', 'views/patientSearch.tpl.html').respond(204);
    httpBackend.when('GET', 'scripts/modules/connection/connection_server.tmpl.html').respond(204);
    httpBackend.when('GET', new RegExp('service/staff/userList*', '')).respond(204);
    httpBackend.when('GET', new RegExp('service/resource-directory/tokenurls*', '')).respond(204);
  }));
  it('update a users roles', function() {
    scope.searchLast = 'User';
    scope.searchType = 'staff';
    spyOn(staffUserMock, 'query').andCallThrough();
    scope.$root.$digest();
    expect(staffUserMock.query).toHaveBeenCalled();
    scope.triggerSearch();
    expect(scope.adminList[0].lastName).toBe('User');
    scope.selectStaffUser(scope.adminList[0]);
    expect(scope.userSelected).toBe(true);
    expect(scope.selectedUser.lastName).toBe('User');
    scope.selectedUser.broadcast = false;
    scope.updateUserRoles(scope.selectedUser);
    expect(scope.data.roles.indexOf('bcm_admin')).toBe(-1);
  });
});