All tests for profile migration.
This commit is contained in:
parent
e52242bb1b
commit
3aa9e70e64
1 changed files with 156 additions and 1 deletions
|
|
@ -1,4 +1,3 @@
|
|||
// TODO: Error cases for all of these, at each step.
|
||||
describe('storageService on mobile', function(){
|
||||
var appConfig,
|
||||
expectedOldProfileSavedToSecure,
|
||||
|
|
@ -102,6 +101,102 @@ describe('storageService on mobile', function(){
|
|||
expect(profile.credentials[1].walletId).toBe('f4ff4629-ff53-4bc7-8c98-e7c8e0149d3b');
|
||||
});
|
||||
|
||||
it('getProfile() from file storage, remove fails.', function() {
|
||||
var error, profile, savedProfile;
|
||||
|
||||
secureStorageServiceMock.get.and.callFake(function(k, cb){
|
||||
cb(null, null);
|
||||
});
|
||||
|
||||
fileStorageServiceMock.get.and.callFake(function(k, cb){
|
||||
cb(null, oldProfile);
|
||||
});
|
||||
|
||||
secureStorageServiceMock.set.and.callFake(function(k, v, cb){
|
||||
savedProfile = v;
|
||||
cb(null);
|
||||
});
|
||||
|
||||
fileStorageServiceMock.remove.and.callFake(function(k, cb){
|
||||
cb(new Error('Remove error.'));
|
||||
});
|
||||
|
||||
storageService.getProfile(function(err, p){
|
||||
error = err;
|
||||
profile = p;
|
||||
});
|
||||
|
||||
expect(error.message).toBe('Remove error.');
|
||||
expect(profile).toBeFalsy();
|
||||
|
||||
expect(savedProfile).toBe(expectedOldProfileSavedToSecure);
|
||||
});
|
||||
|
||||
it('getProfile() from file storage, secure set fails, not removed.', function() {
|
||||
var error, profile, savedProfile;
|
||||
|
||||
secureStorageServiceMock.get.and.callFake(function(k, cb){
|
||||
cb(null, null);
|
||||
});
|
||||
|
||||
fileStorageServiceMock.get.and.callFake(function(k, cb){
|
||||
cb(null, oldProfile);
|
||||
});
|
||||
|
||||
secureStorageServiceMock.set.and.callFake(function(k, v, cb){
|
||||
savedProfile = v;
|
||||
cb(new Error('Set error.'));
|
||||
});
|
||||
|
||||
storageService.getProfile(function(err, p){
|
||||
error = err;
|
||||
profile = p;
|
||||
});
|
||||
|
||||
expect(error.message).toBe('Set error.');
|
||||
expect(profile).toBeFalsy();
|
||||
|
||||
expect(savedProfile).toBe(expectedOldProfileSavedToSecure);
|
||||
|
||||
expect(fileStorageServiceMock.remove.calls.any()).toBe(false);
|
||||
});
|
||||
|
||||
it('getProfile(), secure get fails.', function() {
|
||||
var error, profile, savedProfile;
|
||||
|
||||
secureStorageServiceMock.get.and.callFake(function(k, cb){
|
||||
cb(new Error('Secure get error.'), null);
|
||||
});
|
||||
|
||||
storageService.getProfile(function(err, p){
|
||||
error = err;
|
||||
profile = p;
|
||||
});
|
||||
|
||||
expect(error.message).toBe('Secure get error.');
|
||||
expect(profile).toBeFalsy();
|
||||
});
|
||||
|
||||
it('getProfile(), secure get succeeds, file storage get fails.', function() {
|
||||
var error, profile;
|
||||
|
||||
secureStorageServiceMock.get.and.callFake(function(k, cb){
|
||||
cb(null, secureProfile);
|
||||
});
|
||||
|
||||
fileStorageServiceMock.get.and.callFake(function(k, cb){
|
||||
cb(new Error('File storage get error.'), null);
|
||||
});
|
||||
|
||||
storageService.getProfile(function(err, p){
|
||||
error = err;
|
||||
profile = p;
|
||||
});
|
||||
|
||||
expect(error.message).toBe('File storage get error.');
|
||||
expect(profile).toBeFalsy();
|
||||
});
|
||||
|
||||
it('getProfile() from secure storage.', function() {
|
||||
var error, profile;
|
||||
|
||||
|
|
@ -185,4 +280,64 @@ describe('storageService on mobile', function(){
|
|||
|
||||
});
|
||||
|
||||
it('getProfile() merge from local and secure storage, secure set fails, not removed from local.', function() {
|
||||
var error, profile, savedProfile;
|
||||
|
||||
secureStorageServiceMock.get.and.callFake(function(k, cb){
|
||||
cb(null, secureProfile);
|
||||
});
|
||||
|
||||
fileStorageServiceMock.get.and.callFake(function(k, cb){
|
||||
cb(null, oldProfile);
|
||||
});
|
||||
|
||||
secureStorageServiceMock.set.and.callFake(function(k, v, cb){
|
||||
savedProfile = v;
|
||||
cb(new Error('Secure set error.'));
|
||||
});
|
||||
|
||||
storageService.getProfile(function(err, p){
|
||||
error = err;
|
||||
profile = p;
|
||||
});
|
||||
|
||||
expect(error.message).toBe('Secure set error.');
|
||||
expect(profile).toBeFalsy();
|
||||
|
||||
expect(savedProfile).toBe(expectedOldProfileMergedWithSecure);
|
||||
|
||||
expect(fileStorageServiceMock.remove.calls.any()).toBe(false);
|
||||
});
|
||||
|
||||
it('getProfile() merge from local and secure storage, remove from local fails.', function() {
|
||||
var error, profile, savedProfile;
|
||||
|
||||
secureStorageServiceMock.get.and.callFake(function(k, cb){
|
||||
cb(null, secureProfile);
|
||||
});
|
||||
|
||||
fileStorageServiceMock.get.and.callFake(function(k, cb){
|
||||
cb(null, oldProfile);
|
||||
});
|
||||
|
||||
secureStorageServiceMock.set.and.callFake(function(k, v, cb){
|
||||
savedProfile = v;
|
||||
cb(null);
|
||||
});
|
||||
|
||||
fileStorageServiceMock.remove.and.callFake(function(k, cb){
|
||||
cb(new Error('Remove error.'));
|
||||
});
|
||||
|
||||
storageService.getProfile(function(err, p){
|
||||
error = err;
|
||||
profile = p;
|
||||
});
|
||||
|
||||
expect(error.message).toBe('Remove error.');
|
||||
expect(profile).toBeFalsy();
|
||||
|
||||
expect(savedProfile).toBe(expectedOldProfileMergedWithSecure);
|
||||
});
|
||||
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue