From f096e3d8c03b20fa1a6324bd42c302b2ba68757c Mon Sep 17 00:00:00 2001 From: Zak Henry Date: Tue, 8 Sep 2015 11:28:55 +1000 Subject: [PATCH] Refactored the tests to use the implicit angular di pattern for better test consistency --- .../services/image/imageService.spec.ts | 21 +++++++------------ app/src/common/services/image/imageService.ts | 2 +- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/app/src/common/services/image/imageService.spec.ts b/app/src/common/services/image/imageService.spec.ts index 8ecfc30c..a6584b36 100644 --- a/app/src/common/services/image/imageService.spec.ts +++ b/app/src/common/services/image/imageService.spec.ts @@ -3,11 +3,8 @@ namespace common.services.image { let seededChance = new Chance(1), imageService:common.services.image.ImageService, $httpBackend:ng.IHttpBackendService, - $http:ng.IHttpService, $q:ng.IQService, ngRestAdapter:NgRestAdapter.INgRestAdapterService, - Upload:ng.angularFileUpload.IUploadService, - paginationService:common.services.pagination.PaginationService, $rootScope:ng.IRootScopeService, $timeout: ng.ITimeoutService ; @@ -48,18 +45,15 @@ namespace common.services.image { module('app'); - inject((_$httpBackend_, _imageService_, _$q_, _ngRestAdapter_, _Upload_, _paginationService_, _$http_, _$rootScope_, _$timeout_) => { + inject((_$httpBackend_, _imageService_, _$q_, _ngRestAdapter_, _$rootScope_, _$timeout_) => { if (!imageService) { // Don't rebind, so each test gets the singleton $httpBackend = _$httpBackend_; imageService = _imageService_; $q = _$q_; ngRestAdapter = _ngRestAdapter_; - Upload = _Upload_; - paginationService = _paginationService_; - $http = _$http_; $rootScope = _$rootScope_; - $timeout = _$timeout_ + $timeout = _$timeout_; } }); @@ -129,7 +123,7 @@ namespace common.services.image { }); - it.only('should notify progress on upload', () => { + it('should notify progress on upload', () => { let fixedImageId = chance.guid(), ts = moment().unix(), @@ -142,16 +136,17 @@ namespace common.services.image { sinon.stub((imageService).ngRestAdapter, 'uuid').returns(fixedImageId); //fix the value of the ngRestAdapter.uuid() method + let mockUploadDeferred = $q.defer(); + //mock the progress method (mockUploadDeferred.promise).progress = (callback) => { return mockUploadDeferred.promise.then(null, null, callback); }; - sinon.stub((Upload), 'upload').returns(mockUploadDeferred.promise); - let mockedImageService = new ImageService(Upload, $q, ngRestAdapter, $http, paginationService, $timeout); + sinon.stub((imageService).ngFileUpload, 'upload').returns(mockUploadDeferred.promise); let progressSpy = sinon.spy(); - let uploadPromise = mockedImageService.uploadImage({ + let uploadPromise = imageService.uploadImage({ file: image, alt: 'image test', }).then(null, null, progressSpy); @@ -218,7 +213,7 @@ namespace common.services.image { (imageService).ngRestAdapter.uuid.restore(); - (Upload).upload.restore(); + (imageService).ngFileUpload.upload.restore(); }); diff --git a/app/src/common/services/image/imageService.ts b/app/src/common/services/image/imageService.ts index 615ac18e..5812980c 100644 --- a/app/src/common/services/image/imageService.ts +++ b/app/src/common/services/image/imageService.ts @@ -61,7 +61,7 @@ namespace common.services.image { private cachedPaginator:common.services.pagination.Paginator; - static $inject:string[] = ['Upload', '$q', 'ngRestAdapter', '$http', 'paginationService']; + static $inject:string[] = ['Upload', '$q', 'ngRestAdapter', '$http', 'paginationService', '$timeout']; constructor(private ngFileUpload:ng.angularFileUpload.IUploadService, private $q:ng.IQService,