diff --git a/package.json b/package.json index 177560a..4e2d2ad 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "functional-models-orm-memory", - "version": "3.0.2", + "version": "3.0.3", "description": "An in-memory datastore adapter for functional-models", "main": "index.js", "types": "index.d.ts", diff --git a/src/datastoreAdapter.ts b/src/datastoreAdapter.ts index b894c40..c855005 100644 --- a/src/datastoreAdapter.ts +++ b/src/datastoreAdapter.ts @@ -23,13 +23,15 @@ type Props = { ) => string } +type Database = Record>> + const create = ({ seedData, getCollectionNameForModel = defaultCollectionName, -}: Props = {}): WithRequired => { - const database: Record> = clone( - seedData - ) || {} +}: Props = {}): WithRequired & { + getRecords: () => Database +} => { + const database: Database = clone(seedData) || {} const _getRecords = ( model: ModelType @@ -43,6 +45,9 @@ const create = ({ } return { + getRecords: () => { + return database + }, delete: ( model: OrmModel, id: PrimaryKeyType diff --git a/test/src/datastoreAdapter.test.ts b/test/src/datastoreAdapter.test.ts index 482a080..2bbddcd 100644 --- a/test/src/datastoreAdapter.test.ts +++ b/test/src/datastoreAdapter.test.ts @@ -62,6 +62,13 @@ describe('/src/datastoreAdapter.ts', () => { const expected = ['save', 'delete', 'retrieve', 'search', 'count'] assert.includeMembers(actual, expected) }) + describe('#getRecords()', () => { + it('should return the database', () => { + const instance = create() + const actual = instance.getRecords() + assert.isOk(actual) + }) + }) describe('#retrieve()', () => { it('should return an object from the seedData when the primary key is provided', async () => { const { datastoreAdapter, models } = setup(getSeedData1())