From 3082354c0b966cbf66d8f2e82642169283dd904c Mon Sep 17 00:00:00 2001 From: JameelB Date: Mon, 18 Sep 2017 11:29:37 +0100 Subject: [PATCH] [RAINCATCH-623] Use fh-sync clearCache on logout (#120) * add clearCache * address pr comments and update unit test --- client/datasync-client/src/DataManager.ts | 12 +++++++++--- client/datasync-client/test/DataManagerTest.ts | 3 ++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/client/datasync-client/src/DataManager.ts b/client/datasync-client/src/DataManager.ts index ee02ba8..e3638e4 100644 --- a/client/datasync-client/src/DataManager.ts +++ b/client/datasync-client/src/DataManager.ts @@ -140,7 +140,7 @@ export class DataManager { syncApi.stopSync(self.datasetId, function() { resolve(); }, function(error) { - reject(new Error(error)); + return reject(new Error(error)); }); }); } @@ -179,8 +179,7 @@ export class DataManager { const options = _.defaults(userOptions, defaultOptions); function forceSyncThenStop(pendingUpdateQueueSize) { if (pendingUpdateQueueSize === 0) { - self.stop().then(Bluebird.resolve); - return; + return Bluebird.resolve(self.stop()); } // Steps: force sync, wait, check if results were synced back, stop server return self.forceSync() @@ -210,6 +209,13 @@ export class DataManager { }); } + /** + * Clears the cache for the dataset + */ + public clearCache() { + return syncApi.clearCache(this.datasetId); + } + /** * Get the current number of pending sync requests for this data set. */ diff --git a/client/datasync-client/test/DataManagerTest.ts b/client/datasync-client/test/DataManagerTest.ts index 82df3c7..ab71c22 100644 --- a/client/datasync-client/test/DataManagerTest.ts +++ b/client/datasync-client/test/DataManagerTest.ts @@ -246,7 +246,8 @@ describe('Data Manager', function() { const results = []; const mock$fh = { forceSync: sinon.stub().callsArgWith(1), - getPending: sinon.stub().callsArgWith(1, results) + getPending: sinon.stub().callsArgWith(1, results), + stopSync: sinon.stub().callsArgWith(1) }; const DataManager = proxyquire.noCallThru().load('../src/DataManager', {