Unit test case for 2 items in cache and that being all of the transactions.
This commit is contained in:
parent
9cfc05dedd
commit
4692e0d91d
1 changed files with 84 additions and 1 deletions
|
|
@ -100,10 +100,49 @@ fdescribe('walletHistoryService', function(){
|
||||||
expect(returnedHistory.length).toBe(50);
|
expect(returnedHistory.length).toBe(50);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('updateLocalTxHistoryByPage, 2 in cache, getEarlier, keep cache, same 2 returned, so all transactions received.', function(){
|
||||||
|
var fetchLimit;
|
||||||
|
var fetchSkip;
|
||||||
|
var returnedAllFetched;
|
||||||
|
var returnedErr;
|
||||||
|
var returnedHistory;
|
||||||
|
var walletIdForStorageGet;
|
||||||
|
walletMock.id = 'wallet456';
|
||||||
|
|
||||||
|
storageServiceMock.getTxHistory.and.callFake(function(walletId, cb){
|
||||||
|
walletIdForStorageGet = walletId;
|
||||||
|
|
||||||
|
cb(null, JSON.stringify(history.slice(0, 2)));
|
||||||
|
});
|
||||||
|
|
||||||
|
walletMock.getTxHistory.and.callFake(function(opts, cb){
|
||||||
|
fetchSkip = opts.skip;
|
||||||
|
fetchLimit = opts.limit;
|
||||||
|
|
||||||
|
cb(null, history.slice(0, 2));
|
||||||
|
});
|
||||||
|
|
||||||
|
walletHistoryService.updateLocalTxHistoryByPage(walletMock, false, false, function(err, txs, allFetched){
|
||||||
|
returnedErr = err;
|
||||||
|
returnedHistory = txs;
|
||||||
|
returnedAllFetched = allFetched;
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(walletIdForStorageGet).toBe('wallet456');
|
||||||
|
expect(fetchSkip).toBe(0);
|
||||||
|
expect(fetchLimit).toBe(50);
|
||||||
|
expect(returnedErr).toBeNull();
|
||||||
|
expect(returnedHistory.length).toBe(2);
|
||||||
|
expect(returnedAllFetched).toBe(true);
|
||||||
|
expect(storageServiceMock.setTxHistory.calls.any()).toBe(false);
|
||||||
|
});
|
||||||
|
|
||||||
it('updateLocalTxHistoryByPage, getEarlier, keep cache, sufficient overlap so saved.', function(){
|
it('updateLocalTxHistoryByPage, getEarlier, keep cache, sufficient overlap so saved.', function(){
|
||||||
var fetchLimit;
|
var fetchLimit;
|
||||||
var fetchSkip;
|
var fetchSkip;
|
||||||
|
var returnedErr;
|
||||||
var returnedHistory;
|
var returnedHistory;
|
||||||
|
var returnedAllFetched;
|
||||||
var savedTxs;
|
var savedTxs;
|
||||||
var walletIdForStorageGet;
|
var walletIdForStorageGet;
|
||||||
var walletIdForStorageSet;
|
var walletIdForStorageSet;
|
||||||
|
|
@ -128,9 +167,10 @@ fdescribe('walletHistoryService', function(){
|
||||||
cb(null);
|
cb(null);
|
||||||
});
|
});
|
||||||
|
|
||||||
walletHistoryService.updateLocalTxHistoryByPage(walletMock, false, false, function(err, txs){
|
walletHistoryService.updateLocalTxHistoryByPage(walletMock, false, false, function(err, txs, allFetched){
|
||||||
returnedErr = err;
|
returnedErr = err;
|
||||||
returnedHistory = txs;
|
returnedHistory = txs;
|
||||||
|
returnedAllFetched = allFetched;
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(walletIdForStorageGet).toBe('wallet67890');
|
expect(walletIdForStorageGet).toBe('wallet67890');
|
||||||
|
|
@ -140,6 +180,48 @@ fdescribe('walletHistoryService', function(){
|
||||||
expect(savedTxs.length).toBe(80);
|
expect(savedTxs.length).toBe(80);
|
||||||
expect(returnedErr).toBeNull();
|
expect(returnedErr).toBeNull();
|
||||||
expect(returnedHistory.length).toBe(80);
|
expect(returnedHistory.length).toBe(80);
|
||||||
|
expect(returnedAllFetched).toBe(false);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('updateLocalTxHistoryByPage, cache empty, getLatest, do not flush cache, one new so saved.', function(){
|
||||||
|
var fetchLimit;
|
||||||
|
var fetchSkip;
|
||||||
|
var returnedHistory;
|
||||||
|
var savedTxs;
|
||||||
|
var walletIdForStorageGet;
|
||||||
|
var walletIdForStorageSet;
|
||||||
|
walletMock.id = 'wallet789';
|
||||||
|
|
||||||
|
storageServiceMock.getTxHistory.and.callFake(function(walletId, cb){
|
||||||
|
walletIdForStorageGet = walletId;
|
||||||
|
cb(null, "[]");
|
||||||
|
});
|
||||||
|
|
||||||
|
walletMock.getTxHistory.and.callFake(function(opts, cb){
|
||||||
|
fetchSkip = opts.skip;
|
||||||
|
fetchLimit = opts.limit;
|
||||||
|
|
||||||
|
cb(null, history.slice(0, 1));
|
||||||
|
});
|
||||||
|
|
||||||
|
storageServiceMock.setTxHistory.and.callFake(function(txs, walletId, cb){
|
||||||
|
savedTxs = txs;
|
||||||
|
walletIdForStorageSet = walletId;
|
||||||
|
cb(null);
|
||||||
|
});
|
||||||
|
|
||||||
|
walletHistoryService.updateLocalTxHistoryByPage(walletMock, true, false, function(err, txs){
|
||||||
|
returnedErr = err;
|
||||||
|
returnedHistory = txs;
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(walletIdForStorageGet).toBe('wallet789');
|
||||||
|
expect(fetchSkip).toBe(0);
|
||||||
|
expect(fetchLimit).toBe(50);
|
||||||
|
expect(savedTxs.length).toBe(1);
|
||||||
|
expect(walletIdForStorageSet).toBe('wallet789');
|
||||||
|
expect(returnedErr).toBeNull();
|
||||||
|
expect(returnedHistory.length).toBe(1);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('updateLocalTxHistoryByPage, cache empty, getLatest, do not flush cache, some new so saved.', function(){
|
it('updateLocalTxHistoryByPage, cache empty, getLatest, do not flush cache, some new so saved.', function(){
|
||||||
|
|
@ -178,6 +260,7 @@ fdescribe('walletHistoryService', function(){
|
||||||
expect(fetchSkip).toBe(0);
|
expect(fetchSkip).toBe(0);
|
||||||
expect(fetchLimit).toBe(50);
|
expect(fetchLimit).toBe(50);
|
||||||
expect(savedTxs.length).toBe(10);
|
expect(savedTxs.length).toBe(10);
|
||||||
|
expect(walletIdForStorageSet).toBe('wallet789');
|
||||||
expect(returnedErr).toBeNull();
|
expect(returnedErr).toBeNull();
|
||||||
expect(returnedHistory.length).toBe(10);
|
expect(returnedHistory.length).toBe(10);
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue