Skip to content

Commit

Permalink
unit tests drag dorp
Browse files Browse the repository at this point in the history
  • Loading branch information
Georg Raess committed Dec 11, 2014
1 parent 9c1b90b commit 217f028
Show file tree
Hide file tree
Showing 4 changed files with 110 additions and 39 deletions.
11 changes: 9 additions & 2 deletions app/scripts/services/DragnDropDataService.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ angular.module('emuwebApp')
// shared service object
var sServObj = {};
sServObj.convertedBundles = [];
sServObj.sessionName = 'File(s)';
sServObj.sessionDefault = '';

///////////////////////////////
Expand All @@ -27,7 +26,15 @@ angular.module('emuwebApp')

sServObj.resetToInitState = function () {
sServObj.convertedBundles = [];
sServObj.sessionName = 'File(s)';
sServObj.sessionDefault = '';
};

sServObj.setDefaultSession = function (name) {
sServObj.sessionDefault = name;
};

sServObj.getDefaultSession = function () {
return sServObj.sessionDefault;
};

return sServObj;
Expand Down
33 changes: 16 additions & 17 deletions app/scripts/services/DragnDropService.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ angular.module('emuwebApp')
name: bundle,
session: sServObj.sessionName
});
DragnDropDataService.sessionDefault = i;
DragnDropDataService.setDefaultSession(i);
}
if(type === 'wav') {
sServObj.drandropBundles[i].wav = data;
Expand All @@ -64,6 +64,21 @@ angular.module('emuwebApp')
}
};

/**
* getter sServObj.drandropBundles
*/
sServObj.getDragnDropData = function (bundle, type) {
if(type === 'wav') {
return sServObj.drandropBundles[bundle].wav;
}
else if(type === 'annotation') {
return sServObj.drandropBundles[bundle].annotation;
}
else {
return false;
}
};

sServObj.generateDrop = function (data) {
var objURL;
if (typeof URL !== 'object' && typeof webkitURL !== 'undefined') {
Expand Down Expand Up @@ -154,22 +169,6 @@ angular.module('emuwebApp')
}
return defer.promise;
};


/**
* getter sServObj.drandropBundles
*/
sServObj.getDragnDropData = function (bundle, type) {
if(type === 'wav') {
return sServObj.drandropBundles[bundle].wav;
}
else if(type === 'annotation') {
return sServObj.drandropBundles[bundle].annotation;
}
else {
return false;
}
};

/**
* handling local file drops after loading them
Expand Down
37 changes: 26 additions & 11 deletions test/spec/services/DragnDropDataService.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,33 @@ describe('Service: DragnDropDataService', function () {
['test1','wavData1','annotationData1'],
['test2','wavData2','annotationData2']
];

/**
*

it('should setData', inject(function (DragnDropDataService) {
// set according data
spyOn(DragnDropDataService, 'setDragnDropData');
spyOn(DragnDropDataService, 'convertDragnDropData').and.returnValue(true);
DragnDropDataService.setData(testData);
expect(DragnDropDataService.setDragnDropData).toHaveBeenCalledWith(false);
expect(DragnDropDataService.convertDragnDropData).toHaveBeenCalledWith(false);
it('should resetToInitState', inject(function (DragnDropDataService) {
// set any data
DragnDropDataService.convertedBundles.push('test');
DragnDropDataService.sessionDefault = 'test';
DragnDropDataService.resetToInitState();
expect(DragnDropDataService.convertedBundles.length).toBe(0);
expect(DragnDropDataService.sessionDefault).toBe('');
}));
*/

it('should setDefaultSession', inject(function (DragnDropDataService) {
// set any data
DragnDropDataService.sessionDefault = 'test';
DragnDropDataService.setDefaultSession('test1');
expect(DragnDropDataService.sessionDefault).toBe('test1');
}));

it('should getDefaultSession', inject(function (DragnDropDataService) {
// set any data
DragnDropDataService.setDefaultSession('test1');
expect(DragnDropDataService.getDefaultSession()).toBe('test1');
}));

it('should getBundle', inject(function (DragnDropDataService) {
// set any data
DragnDropDataService.convertedBundles.push({name: 'test'})
expect(DragnDropDataService.getBundle('test')).toEqual({ $$state : { status : 1, value : { status : 200, data : { name : 'test' } } } });
}));

});
68 changes: 59 additions & 9 deletions test/spec/services/DragnDropService.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,69 @@ describe('Service: DragnDropService', function () {
['test2','wavData2','annotationData2']
];

/**
*
it('should resetToInitState', inject(function (DragnDropService) {
// set any data
DragnDropService.drandropBundles.push('test');
DragnDropService.bundleList.push('test');
DragnDropService.resetToInitState();
expect(DragnDropService.drandropBundles.length).toBe(0);
expect(DragnDropService.bundleList.length).toBe(0);
}));


it('should setData', inject(function (DragnDropService) {
it('should setData', inject(function ($rootScope, $q, DragnDropService, loadedMetaDataService) {
// set according data
var scope = $rootScope.$new();
var def = $q.defer();
spyOn(loadedMetaDataService, 'setBundleList');
spyOn(loadedMetaDataService, 'setCurBndlName');
spyOn(loadedMetaDataService, 'setDemoDbName');
spyOn(DragnDropService, 'handleLocalFiles');
spyOn(DragnDropService, 'setDragnDropData');
spyOn(DragnDropService, 'convertDragnDropData').and.returnValue(true);
spyOn(DragnDropService, 'convertDragnDropData').and.returnValue(def.promise);
DragnDropService.setData(testData);
expect(DragnDropService.setDragnDropData).toHaveBeenCalledWith(false);
expect(DragnDropService.convertDragnDropData).toHaveBeenCalledWith(false);
expect(DragnDropService.setDragnDropData).toHaveBeenCalled();
expect(DragnDropService.convertDragnDropData).toHaveBeenCalledWith([ ], 0);
def.resolve();
scope.$apply();
expect(loadedMetaDataService.setBundleList).toHaveBeenCalled();
expect(loadedMetaDataService.setCurBndlName).toHaveBeenCalled();
expect(loadedMetaDataService.setDemoDbName).toHaveBeenCalled();
expect(DragnDropService.handleLocalFiles).toHaveBeenCalled();
}));

it('should getBlob', inject(function (DragnDropService) {
expect(DragnDropService.getBlob().toString()).toBe('[object Blob]');
}));

it('should generateDrop', inject(function (DragnDropService) {
expect(DragnDropService.generateDrop().toString().substr(0, 12)).toBe('blob:http://');
}));

it('should setDragnDropData', inject(function (DragnDropService, DragnDropDataService) {
spyOn(DragnDropDataService, 'setDefaultSession');
var pak1 = 0;
var pak2 = 1;
DragnDropService.setDragnDropData(testData[pak1][0], pak1, 'wav', testData[pak1][1]);
DragnDropService.setDragnDropData(testData[pak1][0], pak1, 'annotation', testData[pak1][2]);
DragnDropService.setDragnDropData(testData[pak2][0], pak2, 'wav', testData[pak2][1]);
DragnDropService.setDragnDropData(testData[pak2][0], pak2, 'annotation', testData[pak2][2]);
expect(DragnDropDataService.convertedBundles.length).toBe(2);
expect(DragnDropDataService.setDefaultSession).toHaveBeenCalled();
}));

it('should getDragnDropData', inject(function (DragnDropService, DragnDropDataService) {
spyOn(DragnDropDataService, 'setDefaultSession');
var pak1 = 0;
var pak2 = 1;
DragnDropService.setDragnDropData(testData[pak1][0], pak1, 'wav', testData[pak1][1]);
DragnDropService.setDragnDropData(testData[pak1][0], pak1, 'annotation', testData[pak1][2]);
DragnDropService.setDragnDropData(testData[pak2][0], pak2, 'wav', testData[pak2][1]);
DragnDropService.setDragnDropData(testData[pak2][0], pak2, 'annotation', testData[pak2][2]);
expect(DragnDropService.getDragnDropData(pak1, 'wav')).toEqual(testData[pak1][1]);
expect(DragnDropService.getDragnDropData(pak1, 'annotation')).toEqual(testData[pak1][2]);
expect(DragnDropService.getDragnDropData(pak2, 'wav')).toEqual(testData[pak2][1]);
expect(DragnDropService.getDragnDropData(pak2, 'annotation')).toEqual(testData[pak2][2]);
}));
*/


});

0 comments on commit 217f028

Please sign in to comment.