Example #1
0
        protected async Task ExecuteTest(IEventStoreInitializer eventStoreInitializer, IEventStore eventStore)
        {
            // Arrange
            var events = new List <TestEvent>
            {
                new TestEvent("arid", "sp1"),
                new TestEvent("arid", "sp2"),
                new TestEvent("arid", "sp3")
            };

            for (var i = 0; i < events.Count; i++)
            {
                events[i].SetVersion(i);
            }

            // Act
            await eventStoreInitializer.InitializeAsync();

            await eventStore.SaveAsync(events);

            var queriedEvents = await eventStore.GetByAggregateRootIdAsync("arid", Constants.INITIAL_VERSION);

            // Assert
            queriedEvents
            .Should()
            .BeEquivalentTo(events);
        }
Example #2
0
        protected async Task ExecuteConcurrencyCheckTest(IEventStoreInitializer eventStoreInitializer, IEventStore eventStore)
        {
            // Arrange
            var events = new List <TestEvent>
            {
                new TestEvent("arid", "sp1"),
                new TestEvent("arid", "sp2")
            };

            events[0].SetVersion(0);
            events[1].SetVersion(0);

            // Act
            await eventStoreInitializer.InitializeAsync();

            Func <Task> act = async() => await eventStore.SaveAsync(events);

            // Assert
            act.Should()
            .Throw <ConcurrencyException>();
        }