public async Task CosmosDbEventStore_GetEventById_AsExpected() { try { var eventToCreate = new EventTest1 { Id = Guid.NewGuid(), Texte = "toto", AggregateId = Guid.NewGuid(), AggregateType = typeof(SampleAgg), EventTime = DateTime.Now }; await _cosmosDbEventStore.StoreDomainEventAsync(eventToCreate).ConfigureAwait(false); var eventCreated = await _cosmosDbEventStore.GetEventByIdAsync <EventTest1>(eventToCreate.Id).ConfigureAwait(false); eventCreated.Should().NotBeNull(); eventCreated.Id.Should().Be(eventToCreate.Id); eventCreated.Texte.Should().Be("toto"); } finally { await DeleteAllAsync().ConfigureAwait(false); } }
public async Task CosmosDbEventStore_GetEventsFromAggregateIdAsync_AsExpected() { try { var id1 = Guid.NewGuid(); var id2 = Guid.NewGuid(); var id3 = Guid.NewGuid(); var id4 = Guid.NewGuid(); var idAggregate = Guid.NewGuid(); var eventTest1 = new EventTest1 { Id = id1, Texte = "toto", AggregateId = idAggregate, AggregateType = typeof(SampleAgg), EventTime = DateTime.Now }; var eventTest2 = new EventTest2 { Id = id2, Texte = "tata", AggregateId = idAggregate, AggregateType = typeof(SampleAgg), EventTime = DateTime.Now }; var eventTest3 = new EventTest1 { Id = id3, Texte = "titi", AggregateId = idAggregate, AggregateType = typeof(SampleAgg), EventTime = DateTime.Now }; var eventTest4 = new EventTest2 { Id = id4, Texte = "tutu", AggregateId = idAggregate, AggregateType = typeof(SampleAgg), EventTime = DateTime.Now }; await _cosmosDbEventStore.StoreDomainEventAsync(eventTest1).ConfigureAwait(false); await _cosmosDbEventStore.StoreDomainEventAsync(eventTest2).ConfigureAwait(false); await _cosmosDbEventStore.StoreDomainEventAsync(eventTest3).ConfigureAwait(false); await _cosmosDbEventStore.StoreDomainEventAsync(eventTest4).ConfigureAwait(false); var results = await(await _cosmosDbEventStore.GetEventsFromAggregateIdAsync <SampleAgg>(idAggregate).ConfigureAwait(false)).ToList().ConfigureAwait(false); var test1 = results.FirstOrDefault(x => x.Id == id1); test1.GetType().Should().Be(typeof(EventTest1)); ((EventTest1)test1).Texte.Should().Be("toto"); var test2 = results.FirstOrDefault(x => x.Id == id2); test2.GetType().Should().Be(typeof(EventTest2)); ((EventTest2)test2).Texte.Should().Be("tata"); var test3 = results.FirstOrDefault(x => x.Id == id3); test3.GetType().Should().Be(typeof(EventTest1)); ((EventTest1)test3).Texte.Should().Be("titi"); var test4 = results.FirstOrDefault(x => x.Id == id4); test4.GetType().Should().Be(typeof(EventTest2)); ((EventTest2)test4).Texte.Should().Be("tutu"); } finally { await DeleteAllAsync().ConfigureAwait(false); } }
public async Task CosmosDbEventStore_StoreDomainEventAsync_AsExpected() { try { var id = Guid.NewGuid(); var eventTest = new EventTest1 { Id = id, AggregateId = Guid.NewGuid(), AggregateType = typeof(SampleAgg), Texte = "toto", EventTime = DateTime.Now }; await _cosmosDbEventStore.StoreDomainEventAsync(eventTest).ConfigureAwait(false); (await _cosmosDbEventStore.GetEventByIdAsync <EventTest1>(id).ConfigureAwait(false)).Texte.Should().Be("toto"); } finally { await DeleteAllAsync().ConfigureAwait(false); } }