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>()); }); }