From 017fc67765bdb75542045830fb85f8eb4b899485 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jovan=20Kruni=C4=87?= Date: Tue, 12 Feb 2019 14:06:54 +0100 Subject: [PATCH] feat(data): add method that checks if data item has been saved --- src/app/modules/data/data.provider.spec.ts | 6 ++++++ src/app/modules/data/data.provider.ts | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/src/app/modules/data/data.provider.spec.ts b/src/app/modules/data/data.provider.spec.ts index 3f0826a5..b842763a 100644 --- a/src/app/modules/data/data.provider.spec.ts +++ b/src/app/modules/data/data.provider.spec.ts @@ -220,4 +220,10 @@ describe('DataProvider', () => { const result = await storageProvider.getAll(); expect(Array.from(result.keys())).toEqual(['some-uid']); }); + + it('should properly check if a data item has already been saved', async () => { + expect(await dataProvider.isSaved(sampleThing.uid)).toBeFalsy(); + await dataProvider.put(sampleThing); + expect(await dataProvider.isSaved(sampleThing.uid)).toBeTruthy(); + }); }); diff --git a/src/app/modules/data/data.provider.ts b/src/app/modules/data/data.provider.ts index 875ca28b..186a1882 100644 --- a/src/app/modules/data/data.provider.ts +++ b/src/app/modules/data/data.provider.ts @@ -147,4 +147,13 @@ export class DataProvider { async search(query: SCSearchQuery): Promise { return (await this.client.search(query)); } + + /** + * Provides information if something with an UID is saved as a data item + * + * @param uid Unique identifier of the saved data item + */ + async isSaved(uid: string): Promise { + return this.storageProvider.has(this.getDataKey(uid)); + } }