Copy const { test } = require('tap')
const { build } = require('serverless-cqrs.memory-adapter')
test('loadEvents', async assert => {
const eventStore = {
'foo': [
{ entityId: '123', version: 0, events: [ 'a' ] },
{ entityId: '123', version: 1, events: [ 'b', 'c' ]},
{ entityId: '123', version: 3, events: [ 'd', 'e', 'f' ] },
{ entityId: '123', version: 6, events: [ 'g', 'h', 'i' ] },
]
}
const expected = [ 'd', 'e', 'f', 'g', 'h', 'i' ]
const adapter = build({ entityName: 'foo' }, { eventStore })
const res = await adapter.loadEvents('123', 1)
assert.deepEquals(res, expected, 'returns events after given version')
})
test('get', async assert => {
const projectionStore = {
foo: {
'123':{
id: '123',
version: 0,
state: 'foobar',
}
}
}
const expected = {
id: '123',
version: 0,
state: 'foobar',
}
const adapter = build({ entityName: 'foo' }, { projectionStore })
const res = await adapter.get('123')
assert.deepEquals(res, expected, 'returns exisiting projection from store')
})