angular.module('fbMocks') .factory('dropPlusService', ['$q', function ( $q: ng.IQService ): fb.IMockDropPlusService { var mockBase = new fb.MockBase($q); var resolve = function (type: fb.RequestType, identifier: string, returnValue: any): void { mockBase.resolve(mockBase.requestIdentifier(type, identifier), returnValue); }; var reject = function (type: fb.RequestType, identifier: string, returnValue: any): void { mockBase.reject(mockBase.requestIdentifier(type, identifier), returnValue); }; var getPendingRequests = function (): string[] { return mockBase.getPendingRequests(); }; var get = function (type: string): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.GET, type + '')) }; return new fb.List(res,fb.DropPlus); }; var add = function (dropPlus: fb.DropPlus): fb.DropPlus { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.ADD, '')) }; return new fb.DropPlus(res); }; var remove = function (dropPlus: fb.DropPlus): fb.ResourceBase { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.REMOVE, '')) }; return new fb.ResourceBase(res); }; return { get: get, add: add, remove: remove, resolve: resolve, reject: reject, getPendingRequests: getPendingRequests }; }]);