public async Task GivenAnAssetHasBeenCreated_WhenTheAssetIsReadFromTheGateway_ThenItIsTheSame(int count) { //arrange using (var trans = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { IList <IAsset> assets = new List <IAsset>(); for (int i = 0; i < count; i++) { var entity = TestData.Domain.GenerateAsset(); assets.Add(entity); } var createdAssets = await _classUnderTest.CreateAsync(new AssetRegisterVersion { Assets = assets }, CancellationToken.None).ConfigureAwait(false); //act for (int i = 0; i < count; i++) { var createdAsset = createdAssets.Assets.ElementAtOrDefault(i); var readAsset = await _gateway.ReadAsync(createdAsset.Id).ConfigureAwait(false); //assert createdAsset.Id.Should().NotBe(0); readAsset.AssetIsEqual(createdAsset.Id, readAsset); } trans.Dispose(); } }
public async Task GivenAnAssetHasBeenCreated_WhenTheAssetIsReadFromTheGateway_ThenItIsTheSame() { //arrange using (var trans = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { var entity = TestData.Domain.GenerateAsset(); var createdAsset = await _classUnderTest.CreateAsync(entity).ConfigureAwait(false); //act var readAsset = await _classUnderTest.ReadAsync(createdAsset.Id).ConfigureAwait(false); //assert readAsset.AssetIsEqual(createdAsset.Id, entity); trans.Dispose(); } }