Example #1
0
        public async Task concurrent_updates_cause_WrongExpectedVersionException()
        {
            var id = $"persons-{Guid.NewGuid()}";
            await Repository.StoreAsync(PersonAggregateFactory.Create(id, "Joe"));

            var agg = await Repository.GetAsync <PersonAggregate>(id);

            await TestingUtils.UpdateOutOfSession(id, Repository);

            TestingUtils.Rename(agg, "New name");
            Assert.That(async() => { await Repository.StoreAsync(agg); }, Throws.Exception.TypeOf <ConcurrencyException>());
        }
Example #2
0
        public async Task concurrent_updates_throw_AggregateConcurrencyException()
        {
            var id = $"Persons-{Guid.NewGuid()}";
            await Repository.StoreAsync(PersonAggregateFactory.Create(id, "Joe"));

            var loadedAggregate = await Repository.GetAsync <PersonAggregate>(id);

            await TestingUtils.UpdateOutOfSession(id, Repository);

            TestingUtils.Rename(loadedAggregate, "Gary");

            Assert.That(async() => await Repository.StoreAsync(loadedAggregate), Throws.Exception.TypeOf <AggregateConcurrencyException>());
        }