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)); + } }