コード例 #1
0
        public async Task CommitAsync_FlushesEvents()
        {
            sut.Begin();
            sut.AddInnerTransaction(innerTransactions[0]);
            sut.AddInnerTransaction(innerTransactions[1]);
            await sut.CommitAsync();

            publishEventBuffer.Received(1).FlushAsync(Arg.Any <CancellationToken>());

            Received.InOrder(() =>
            {
                innerTransactions[0].CommitAsync();
                publishEventBuffer.FlushAsync(Arg.Any <CancellationToken>());
            });

            Received.InOrder(() =>
            {
                innerTransactions[1].CommitAsync();
                publishEventBuffer.FlushAsync(Arg.Any <CancellationToken>());
            });
        }