@furystack/repository
Advanced tools
Comparing version
@@ -7,3 +7,3 @@ "use strict"; | ||
const repository_1 = require("./repository"); | ||
require("./injector-extension"); | ||
const helpers_1 = require("./helpers"); | ||
class TestClass { | ||
@@ -19,7 +19,8 @@ constructor() { | ||
(0, utils_1.using)(new inject_1.Injector(), (i) => { | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ | ||
model: TestClass, | ||
primaryKey: 'id', | ||
}))).setupRepository((r) => r.createDataSet(TestClass, 'id')); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
})); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id'); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
expect(dataSet.settings.physicalStore.model).toBe(TestClass); | ||
@@ -30,7 +31,8 @@ }); | ||
(0, utils_1.using)(new inject_1.Injector(), (i) => { | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ | ||
model: TestClass, | ||
primaryKey: 'id', | ||
}))).setupRepository((r) => r.createDataSet(TestClass, 'id')); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
})); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id'); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
expect(dataSet.settings.physicalStore.model).toBe(TestClass); | ||
@@ -41,3 +43,3 @@ }); | ||
(0, utils_1.using)(new inject_1.Injector(), (i) => { | ||
expect(() => i.getDataSetFor(TestClass, 'id')).toThrowError(''); | ||
expect(() => (0, helpers_1.getDataSetFor)(i, TestClass, 'id')).toThrowError(''); | ||
}); | ||
@@ -55,4 +57,5 @@ }); | ||
await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => { | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id')); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id'); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
await dataSet.add(i, { id: 1, value: 'asd' }); | ||
@@ -66,4 +69,5 @@ const result = await dataSet.get(i, 1); | ||
const authorizeAdd = jest.fn(async () => ({ isAllowed: true })); | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeAdd })); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id', { authorizeAdd }); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
await dataSet.add(i, { id: 1, value: 'asd' }); | ||
@@ -78,4 +82,5 @@ expect(authorizeAdd).toBeCalled(); | ||
const authorizeAdd = jest.fn(async () => ({ isAllowed: false, message: '...' })); | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeAdd })); | ||
const dataSet = await i.getDataSetFor(TestClass, 'id'); | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id', { authorizeAdd }); | ||
const dataSet = await (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
try { | ||
@@ -99,4 +104,5 @@ await dataSet.add(i, { id: 1, value: 'asd' }); | ||
})); | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { modifyOnAdd })); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id', { modifyOnAdd }); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
await dataSet.add(i, { id: 1, value: 'asd' }); | ||
@@ -111,7 +117,10 @@ const result = await dataSet.get(i, 1); | ||
expect.assertions(1); | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id', {})); | ||
i.getDataSetFor(TestClass, 'id').onEntityAdded.subscribe(({ entity }) => { | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id', {}); | ||
(0, helpers_1.getRepository)(i) | ||
.getDataSetFor(TestClass, 'id') | ||
.onEntityAdded.subscribe(({ entity }) => { | ||
expect(entity.value).toBe('asd'); | ||
}); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
await dataSet.add(i, { id: 1, value: 'asd' }); | ||
@@ -124,4 +133,5 @@ }); | ||
await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => { | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id')); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id'); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
await dataSet.add(i, { id: 1, value: 'asd' }); | ||
@@ -136,4 +146,5 @@ await dataSet.update(i, 1, { id: 1, value: 'asd2' }); | ||
const authorizeUpdate = jest.fn(async () => ({ isAllowed: true })); | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeUpdate })); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id', { authorizeUpdate }); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
await dataSet.add(i, { id: 1, value: 'asd' }); | ||
@@ -149,4 +160,5 @@ await dataSet.update(i, 1, { id: 1, value: 'asd2' }); | ||
const authorizeUpdateEntity = jest.fn(async () => ({ isAllowed: false, message: '...' })); | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeUpdateEntity })); | ||
const dataSet = await i.getDataSetFor(TestClass, 'id'); | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id', { authorizeUpdateEntity }); | ||
const dataSet = await (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
try { | ||
@@ -168,4 +180,5 @@ await dataSet.add(i, { id: 1, value: 'asd' }); | ||
const authorizeUpdateEntity = jest.fn(async () => ({ isAllowed: true })); | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeUpdateEntity })); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id', { authorizeUpdateEntity }); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
await dataSet.add(i, { id: 1, value: 'asd' }); | ||
@@ -181,4 +194,5 @@ await dataSet.update(i, 1, { id: 1, value: 'asd2' }); | ||
const authorizeUpdate = jest.fn(async () => ({ isAllowed: false, message: '...' })); | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeUpdate })); | ||
const dataSet = await i.getDataSetFor(TestClass, 'id'); | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id', { authorizeUpdate }); | ||
const dataSet = await (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
try { | ||
@@ -206,4 +220,5 @@ await dataSet.add(i, { id: 1, value: 'asd' }); | ||
}); | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { modifyOnUpdate })); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id', { modifyOnUpdate }); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
await dataSet.add(i, { id: 1, value: 'asd' }); | ||
@@ -219,7 +234,10 @@ await dataSet.update(i, 1, { id: 1, value: 'asd2' }); | ||
expect.assertions(1); | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id')); | ||
i.getDataSetFor(TestClass, 'id').onEntityUpdated.subscribe(({ change }) => { | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id'); | ||
(0, helpers_1.getRepository)(i) | ||
.getDataSetFor(TestClass, 'id') | ||
.onEntityUpdated.subscribe(({ change }) => { | ||
expect(change).toEqual({ id: 1, value: 'asd2' }); | ||
}); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
await dataSet.add(i, { id: 1, value: 'asd' }); | ||
@@ -233,4 +251,5 @@ await dataSet.update(i, 1, { id: 1, value: 'asd2' }); | ||
await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => { | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id')); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id'); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
await dataSet.add(i, { id: 1, value: 'asd' }); | ||
@@ -244,4 +263,5 @@ const result = await dataSet.count(i); | ||
const authorizeGet = jest.fn(async () => ({ isAllowed: true, message: '' })); | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeGet })); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id', { authorizeGet }); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
await dataSet.add(i, { id: 1, value: 'asd' }); | ||
@@ -255,4 +275,5 @@ const result = await dataSet.count(i); | ||
const authorizeGet = jest.fn(async () => ({ isAllowed: false, message: ':(' })); | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeGet })); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id', { authorizeGet }); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
await dataSet.add(i, { id: 1, value: 'asd' }); | ||
@@ -273,4 +294,5 @@ try { | ||
await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => { | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id')); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id'); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
await dataSet.add(i, { id: 1, value: 'asd' }); | ||
@@ -284,4 +306,5 @@ const result = await dataSet.find(i, {}); | ||
const authorizeGet = jest.fn(async () => ({ isAllowed: true, message: '' })); | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeGet })); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id', { authorizeGet }); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
await dataSet.add(i, { id: 1, value: 'asd' }); | ||
@@ -295,4 +318,5 @@ const result = await dataSet.find(i, {}); | ||
const authorizeGet = jest.fn(async () => ({ isAllowed: false, message: ':(' })); | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeGet })); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id', { authorizeGet }); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
await dataSet.add(i, { id: 1, value: 'asd' }); | ||
@@ -312,4 +336,5 @@ try { | ||
await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => { | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id')); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id'); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
await dataSet.add(i, { id: 1, value: 'asd' }); | ||
@@ -323,4 +348,5 @@ const result = await dataSet.get(i, 1); | ||
const authorizeGet = jest.fn(async () => ({ isAllowed: true, message: '' })); | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeGet })); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id', { authorizeGet }); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
await dataSet.add(i, { id: 1, value: 'asd' }); | ||
@@ -334,4 +360,5 @@ const result = await dataSet.get(i, 1); | ||
const authorizeGet = jest.fn(async () => ({ isAllowed: false, message: ':(' })); | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeGet })); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id', { authorizeGet }); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
await dataSet.add(i, { id: 1, value: 'asd' }); | ||
@@ -350,4 +377,5 @@ try { | ||
const authorizeGetEntity = jest.fn(async () => ({ isAllowed: true, message: '' })); | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeGetEntity })); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id', { authorizeGetEntity }); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
await dataSet.add(i, { id: 1, value: 'asd' }); | ||
@@ -361,4 +389,5 @@ const result = await dataSet.get(i, 1); | ||
const authorizeGetEntity = jest.fn(async () => ({ isAllowed: false, message: ':(' })); | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeGetEntity })); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id', { authorizeGetEntity }); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
await dataSet.add(i, { id: 1, value: 'asd' }); | ||
@@ -378,4 +407,5 @@ try { | ||
await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => { | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id')); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id'); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
await dataSet.add(i, { id: 1, value: 'asd' }); | ||
@@ -390,4 +420,5 @@ await dataSet.remove(i, 1); | ||
const authorizeRemove = jest.fn(async () => ({ isAllowed: true, message: '' })); | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeRemove })); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id', { authorizeRemove }); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
await dataSet.add(i, { id: 1, value: 'asd' }); | ||
@@ -402,4 +433,5 @@ await dataSet.remove(i, 1); | ||
const authorizeRemove = jest.fn(async () => ({ isAllowed: false, message: ':(' })); | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeRemove })); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id', { authorizeRemove }); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
await dataSet.add(i, { id: 1, value: 'asd' }); | ||
@@ -420,4 +452,5 @@ try { | ||
const authroizeRemoveEntity = jest.fn(async () => ({ isAllowed: true, message: '' })); | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authroizeRemoveEntity })); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id', { authroizeRemoveEntity }); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
await dataSet.add(i, { id: 1, value: 'asd' }); | ||
@@ -432,4 +465,5 @@ await dataSet.remove(i, 1); | ||
const authroizeRemoveEntity = jest.fn(async () => ({ isAllowed: false, message: ':(' })); | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authroizeRemoveEntity })); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id', { authroizeRemoveEntity }); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
await dataSet.add(i, { id: 1, value: 'asd' }); | ||
@@ -450,7 +484,10 @@ try { | ||
expect.assertions(1); | ||
i.setupStores((stores) => stores.addStore(new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' }))).setupRepository((repo) => repo.createDataSet(TestClass, 'id')); | ||
i.getDataSetFor(TestClass, 'id').onEntityRemoved.subscribe(({ key }) => { | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: TestClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(TestClass, 'id'); | ||
(0, helpers_1.getRepository)(i) | ||
.getDataSetFor(TestClass, 'id') | ||
.onEntityRemoved.subscribe(({ key }) => { | ||
expect(key).toEqual(1); | ||
}); | ||
const dataSet = i.getDataSetFor(TestClass, 'id'); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, TestClass, 'id'); | ||
await dataSet.add(i, { id: 1, value: 'asd' }); | ||
@@ -457,0 +494,0 @@ await dataSet.remove(i, 1); |
@@ -7,3 +7,3 @@ "use strict"; | ||
tslib_1.__exportStar(require("./data-set-setting"), exports); | ||
require("./injector-extension"); | ||
tslib_1.__exportStar(require("./helpers"), exports); | ||
//# sourceMappingURL=index.js.map |
@@ -5,3 +5,3 @@ "use strict"; | ||
const utils_1 = require("@furystack/utils"); | ||
require("./injector-extension"); | ||
const helpers_1 = require("./helpers"); | ||
const core_1 = require("@furystack/core"); | ||
@@ -14,4 +14,5 @@ const data_set_1 = require("./data-set"); | ||
} | ||
i.setupStores((sm) => sm.addStore(new core_1.InMemoryStore({ model: ExampleClass, primaryKey: 'id' }))).setupRepository((r) => r.createDataSet(ExampleClass, 'id', {})); | ||
const dataSet = i.getDataSetFor(ExampleClass, 'id'); | ||
(0, core_1.addStore)(i, new core_1.InMemoryStore({ model: ExampleClass, primaryKey: 'id' })); | ||
(0, helpers_1.getRepository)(i).createDataSet(ExampleClass, 'id', {}); | ||
const dataSet = (0, helpers_1.getDataSetFor)(i, ExampleClass, 'id'); | ||
expect(dataSet).toBeInstanceOf(data_set_1.DataSet); | ||
@@ -18,0 +19,0 @@ }); |
{ | ||
"name": "@furystack/repository", | ||
"version": "5.0.34", | ||
"version": "6.0.0", | ||
"description": "Repository implementation for FuryStack", | ||
@@ -8,2 +8,3 @@ "main": "dist/index.js", | ||
"dist", | ||
"types", | ||
"src" | ||
@@ -32,7 +33,7 @@ ], | ||
"dependencies": { | ||
"@furystack/core": "^10.4.10", | ||
"@furystack/inject": "^5.0.7", | ||
"@furystack/logging": "^2.0.91", | ||
"@furystack/utils": "^2.1.0", | ||
"tslib": "^2.3.1" | ||
"@furystack/core": "^11.0.0", | ||
"@furystack/inject": "^6.0.0", | ||
"@furystack/logging": "^3.0.0", | ||
"@furystack/utils": "^3.0.0", | ||
"tslib": "^2.4.0" | ||
}, | ||
@@ -42,4 +43,4 @@ "devDependencies": { | ||
}, | ||
"typings": "./dist/index.d.ts", | ||
"typings": "./types/index.d.ts", | ||
"gitHead": "1045d854bfd8c475b7035471d130d401417a2321" | ||
} |
import { Injector } from '@furystack/inject' | ||
import { using, usingAsync } from '@furystack/utils' | ||
import { InMemoryStore, WithOptionalId } from '@furystack/core' | ||
import { InMemoryStore, WithOptionalId, addStore } from '@furystack/core' | ||
import { Repository } from './repository' | ||
import { AuthorizationResult, DataSetSettings } from './data-set-setting' | ||
import './injector-extension' | ||
import { getDataSetFor, getRepository } from './helpers' | ||
@@ -17,11 +17,11 @@ class TestClass { | ||
using(new Injector(), (i) => { | ||
i.setupStores((stores) => | ||
stores.addStore( | ||
new InMemoryStore({ | ||
model: TestClass, | ||
primaryKey: 'id', | ||
}), | ||
), | ||
).setupRepository((r) => r.createDataSet(TestClass, 'id')) | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
addStore( | ||
i, | ||
new InMemoryStore({ | ||
model: TestClass, | ||
primaryKey: 'id', | ||
}), | ||
) | ||
getRepository(i).createDataSet(TestClass, 'id') | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
expect(dataSet.settings.physicalStore.model).toBe(TestClass) | ||
@@ -33,11 +33,11 @@ }) | ||
using(new Injector(), (i) => { | ||
i.setupStores((stores) => | ||
stores.addStore( | ||
new InMemoryStore({ | ||
model: TestClass, | ||
primaryKey: 'id', | ||
}), | ||
), | ||
).setupRepository((r) => r.createDataSet(TestClass, 'id')) | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
addStore( | ||
i, | ||
new InMemoryStore({ | ||
model: TestClass, | ||
primaryKey: 'id', | ||
}), | ||
) | ||
getRepository(i).createDataSet(TestClass, 'id') | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
expect(dataSet.settings.physicalStore.model).toBe(TestClass) | ||
@@ -49,3 +49,3 @@ }) | ||
using(new Injector(), (i) => { | ||
expect(() => i.getDataSetFor(TestClass, 'id')).toThrowError('') | ||
expect(() => getDataSetFor(i, TestClass, 'id')).toThrowError('') | ||
}) | ||
@@ -65,7 +65,7 @@ }) | ||
await usingAsync(new Injector(), async (i) => { | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id')) | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
getRepository(i).createDataSet(TestClass, 'id') | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
await dataSet.add(i, { id: 1, value: 'asd' }) | ||
@@ -80,6 +80,6 @@ const result = await dataSet.get(i, 1) | ||
const authorizeAdd = jest.fn(async () => ({ isAllowed: true } as AuthorizationResult)) | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeAdd })) | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
getRepository(i).createDataSet(TestClass, 'id', { authorizeAdd }) | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
await dataSet.add(i, { id: 1, value: 'asd' }) | ||
@@ -95,8 +95,8 @@ expect(authorizeAdd).toBeCalled() | ||
const authorizeAdd = jest.fn(async () => ({ isAllowed: false, message: '...' } as AuthorizationResult)) | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeAdd })) | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
const dataSet = await i.getDataSetFor(TestClass, 'id') | ||
getRepository(i).createDataSet(TestClass, 'id', { authorizeAdd }) | ||
const dataSet = await getDataSetFor(i, TestClass, 'id') | ||
try { | ||
@@ -123,7 +123,6 @@ await dataSet.add(i, { id: 1, value: 'asd' }) | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { modifyOnAdd })) | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
getRepository(i).createDataSet(TestClass, 'id', { modifyOnAdd }) | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
await dataSet.add(i, { id: 1, value: 'asd' }) | ||
@@ -139,11 +138,13 @@ const result = await dataSet.get(i, 1) | ||
expect.assertions(1) | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id', {})) | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
i.getDataSetFor(TestClass, 'id').onEntityAdded.subscribe(({ entity }) => { | ||
expect(entity.value).toBe('asd') | ||
}) | ||
getRepository(i).createDataSet(TestClass, 'id', {}) | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
getRepository(i) | ||
.getDataSetFor(TestClass, 'id') | ||
.onEntityAdded.subscribe(({ entity }) => { | ||
expect(entity.value).toBe('asd') | ||
}) | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
await dataSet.add(i, { id: 1, value: 'asd' }) | ||
@@ -157,7 +158,6 @@ }) | ||
await usingAsync(new Injector(), async (i) => { | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id')) | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
getRepository(i).createDataSet(TestClass, 'id') | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
await dataSet.add(i, { id: 1, value: 'asd' }) | ||
@@ -173,6 +173,5 @@ await dataSet.update(i, 1, { id: 1, value: 'asd2' }) | ||
const authorizeUpdate = jest.fn(async () => ({ isAllowed: true } as AuthorizationResult)) | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeUpdate })) | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
getRepository(i).createDataSet(TestClass, 'id', { authorizeUpdate }) | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
await dataSet.add(i, { id: 1, value: 'asd' }) | ||
@@ -191,7 +190,6 @@ await dataSet.update(i, 1, { id: 1, value: 'asd2' }) | ||
) | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeUpdateEntity })) | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
getRepository(i).createDataSet(TestClass, 'id', { authorizeUpdateEntity }) | ||
const dataSet = await i.getDataSetFor(TestClass, 'id') | ||
const dataSet = await getDataSetFor(i, TestClass, 'id') | ||
@@ -213,6 +211,5 @@ try { | ||
const authorizeUpdateEntity = jest.fn(async () => ({ isAllowed: true } as AuthorizationResult)) | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeUpdateEntity })) | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
getRepository(i).createDataSet(TestClass, 'id', { authorizeUpdateEntity }) | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
await dataSet.add(i, { id: 1, value: 'asd' }) | ||
@@ -229,7 +226,6 @@ await dataSet.update(i, 1, { id: 1, value: 'asd2' }) | ||
const authorizeUpdate = jest.fn(async () => ({ isAllowed: false, message: '...' } as AuthorizationResult)) | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeUpdate })) | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
getRepository(i).createDataSet(TestClass, 'id', { authorizeUpdate }) | ||
const dataSet = await i.getDataSetFor(TestClass, 'id') | ||
const dataSet = await getDataSetFor(i, TestClass, 'id') | ||
@@ -256,7 +252,6 @@ try { | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { modifyOnUpdate })) | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
getRepository(i).createDataSet(TestClass, 'id', { modifyOnUpdate }) | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
await dataSet.add(i, { id: 1, value: 'asd' }) | ||
@@ -273,11 +268,12 @@ await dataSet.update(i, 1, { id: 1, value: 'asd2' }) | ||
expect.assertions(1) | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id')) | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
getRepository(i).createDataSet(TestClass, 'id') | ||
i.getDataSetFor(TestClass, 'id').onEntityUpdated.subscribe(({ change }) => { | ||
expect(change).toEqual({ id: 1, value: 'asd2' }) | ||
}) | ||
getRepository(i) | ||
.getDataSetFor(TestClass, 'id') | ||
.onEntityUpdated.subscribe(({ change }) => { | ||
expect(change).toEqual({ id: 1, value: 'asd2' }) | ||
}) | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
await dataSet.add(i, { id: 1, value: 'asd' }) | ||
@@ -292,7 +288,6 @@ await dataSet.update(i, 1, { id: 1, value: 'asd2' }) | ||
await usingAsync(new Injector(), async (i) => { | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id')) | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
getRepository(i).createDataSet(TestClass, 'id') | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
await dataSet.add(i, { id: 1, value: 'asd' }) | ||
@@ -307,7 +302,6 @@ const result = await dataSet.count(i) | ||
const authorizeGet = jest.fn(async () => ({ isAllowed: true, message: '' })) | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeGet })) | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
getRepository(i).createDataSet(TestClass, 'id', { authorizeGet }) | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
await dataSet.add(i, { id: 1, value: 'asd' }) | ||
@@ -322,7 +316,6 @@ const result = await dataSet.count(i) | ||
const authorizeGet = jest.fn(async () => ({ isAllowed: false, message: ':(' })) | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeGet })) | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
getRepository(i).createDataSet(TestClass, 'id', { authorizeGet }) | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
await dataSet.add(i, { id: 1, value: 'asd' }) | ||
@@ -343,7 +336,6 @@ try { | ||
await usingAsync(new Injector(), async (i) => { | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id')) | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
getRepository(i).createDataSet(TestClass, 'id') | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
await dataSet.add(i, { id: 1, value: 'asd' }) | ||
@@ -358,7 +350,6 @@ const result = await dataSet.find(i, {}) | ||
const authorizeGet = jest.fn(async () => ({ isAllowed: true, message: '' })) | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeGet })) | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
getRepository(i).createDataSet(TestClass, 'id', { authorizeGet }) | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
await dataSet.add(i, { id: 1, value: 'asd' }) | ||
@@ -373,7 +364,6 @@ const result = await dataSet.find(i, {}) | ||
const authorizeGet = jest.fn(async () => ({ isAllowed: false, message: ':(' })) | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeGet })) | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
getRepository(i).createDataSet(TestClass, 'id', { authorizeGet }) | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
await dataSet.add(i, { id: 1, value: 'asd' }) | ||
@@ -393,7 +383,6 @@ try { | ||
await usingAsync(new Injector(), async (i) => { | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id')) | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
getRepository(i).createDataSet(TestClass, 'id') | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
await dataSet.add(i, { id: 1, value: 'asd' }) | ||
@@ -408,7 +397,6 @@ const result = await dataSet.get(i, 1) | ||
const authorizeGet = jest.fn(async () => ({ isAllowed: true, message: '' })) | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeGet })) | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
getRepository(i).createDataSet(TestClass, 'id', { authorizeGet }) | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
await dataSet.add(i, { id: 1, value: 'asd' }) | ||
@@ -423,7 +411,6 @@ const result = await dataSet.get(i, 1) | ||
const authorizeGet = jest.fn(async () => ({ isAllowed: false, message: ':(' })) | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeGet })) | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
getRepository(i).createDataSet(TestClass, 'id', { authorizeGet }) | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
await dataSet.add(i, { id: 1, value: 'asd' }) | ||
@@ -442,7 +429,6 @@ try { | ||
const authorizeGetEntity = jest.fn(async () => ({ isAllowed: true, message: '' })) | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeGetEntity })) | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
getRepository(i).createDataSet(TestClass, 'id', { authorizeGetEntity }) | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
await dataSet.add(i, { id: 1, value: 'asd' }) | ||
@@ -457,7 +443,6 @@ const result = await dataSet.get(i, 1) | ||
const authorizeGetEntity = jest.fn(async () => ({ isAllowed: false, message: ':(' })) | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeGetEntity })) | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
getRepository(i).createDataSet(TestClass, 'id', { authorizeGetEntity }) | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
await dataSet.add(i, { id: 1, value: 'asd' }) | ||
@@ -476,7 +461,6 @@ try { | ||
await usingAsync(new Injector(), async (i) => { | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id')) | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
getRepository(i).createDataSet(TestClass, 'id') | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
await dataSet.add(i, { id: 1, value: 'asd' }) | ||
@@ -492,7 +476,6 @@ await dataSet.remove(i, 1) | ||
const authorizeRemove = jest.fn(async () => ({ isAllowed: true, message: '' })) | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeRemove })) | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
getRepository(i).createDataSet(TestClass, 'id', { authorizeRemove }) | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
await dataSet.add(i, { id: 1, value: 'asd' }) | ||
@@ -508,7 +491,6 @@ await dataSet.remove(i, 1) | ||
const authorizeRemove = jest.fn(async () => ({ isAllowed: false, message: ':(' })) | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authorizeRemove })) | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
getRepository(i).createDataSet(TestClass, 'id', { authorizeRemove }) | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
await dataSet.add(i, { id: 1, value: 'asd' }) | ||
@@ -529,7 +511,6 @@ try { | ||
const authroizeRemoveEntity = jest.fn(async () => ({ isAllowed: true, message: '' })) | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authroizeRemoveEntity })) | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
getRepository(i).createDataSet(TestClass, 'id', { authroizeRemoveEntity }) | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
await dataSet.add(i, { id: 1, value: 'asd' }) | ||
@@ -545,7 +526,6 @@ await dataSet.remove(i, 1) | ||
const authroizeRemoveEntity = jest.fn(async () => ({ isAllowed: false, message: ':(' })) | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id', { authroizeRemoveEntity })) | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
getRepository(i).createDataSet(TestClass, 'id', { authroizeRemoveEntity }) | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
await dataSet.add(i, { id: 1, value: 'asd' }) | ||
@@ -565,11 +545,12 @@ try { | ||
expect.assertions(1) | ||
i.setupStores((stores) => | ||
stores.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' })), | ||
).setupRepository((repo) => repo.createDataSet(TestClass, 'id')) | ||
addStore(i, new InMemoryStore({ model: TestClass, primaryKey: 'id' })) | ||
getRepository(i).createDataSet(TestClass, 'id') | ||
i.getDataSetFor(TestClass, 'id').onEntityRemoved.subscribe(({ key }) => { | ||
expect(key).toEqual(1) | ||
}) | ||
getRepository(i) | ||
.getDataSetFor(TestClass, 'id') | ||
.onEntityRemoved.subscribe(({ key }) => { | ||
expect(key).toEqual(1) | ||
}) | ||
const dataSet = i.getDataSetFor(TestClass, 'id') | ||
const dataSet = getDataSetFor(i, TestClass, 'id') | ||
await dataSet.add(i, { id: 1, value: 'asd' }) | ||
@@ -576,0 +557,0 @@ await dataSet.remove(i, 1) |
export * from './repository' | ||
export * from './data-set' | ||
export * from './data-set-setting' | ||
import './injector-extension' | ||
export * from './helpers' |
import { Injector } from '@furystack/inject' | ||
import { using } from '@furystack/utils' | ||
import './injector-extension' | ||
import { InMemoryStore } from '@furystack/core' | ||
import { getDataSetFor, getRepository } from './helpers' | ||
import { addStore, InMemoryStore } from '@furystack/core' | ||
import { DataSet } from './data-set' | ||
@@ -13,7 +13,6 @@ | ||
} | ||
i.setupStores((sm) => sm.addStore(new InMemoryStore({ model: ExampleClass, primaryKey: 'id' }))).setupRepository( | ||
(r) => r.createDataSet(ExampleClass, 'id', {}), | ||
) | ||
addStore(i, new InMemoryStore({ model: ExampleClass, primaryKey: 'id' })) | ||
getRepository(i).createDataSet(ExampleClass, 'id', {}) | ||
const dataSet = i.getDataSetFor(ExampleClass, 'id') | ||
const dataSet = getDataSetFor(i, ExampleClass, 'id') | ||
expect(dataSet).toBeInstanceOf(DataSet) | ||
@@ -20,0 +19,0 @@ }) |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
146180
-2.48%1777
-0.5%+ Added
+ Added
+ Added
+ Added
- Removed
- Removed
- Removed
- Removed
- Removed
Updated
Updated
Updated
Updated
Updated