public async Task <CalculateAssetAggregateResponse> ExecuteAsync(CalculateAssetAggregateRequest requests, CancellationToken cancellationToken) { var assetSearchQuery = new AssetSearchQuery { SchemeId = requests?.SchemeId, Address = requests?.Address, AssetRegisterVersionId = requests?.AssetRegisterVersionId }; var result = await _assetAggregator.Aggregate(assetSearchQuery, cancellationToken).ConfigureAwait(false); var response = new CalculateAssetAggregateResponse { AssetAggregates = new AssetAggregatesOutputModel(result) }; return(response); }
public async Task GivenMultipleAssetsHaveBeenCreated_WhenWeAggregateViaSearchCritera_ThenWeCanGetAssetValue(int count, int expectedCount, decimal?agencyFairValue, int?schemeId, string address, string searchAddress) { //arrange using (var trans = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { var assetRegisterVersionId = await CreateAggregatedAssets(count, schemeId, address, agencyFairValue, null); var aggregatedSearch = new AssetSearchQuery { SchemeId = schemeId, Address = searchAddress, AssetRegisterVersionId = assetRegisterVersionId, }; //act var assets = await _classUnderTest.Aggregate(aggregatedSearch, CancellationToken.None).ConfigureAwait(false); //assert assets.AssetValue.Should().Be(agencyFairValue * expectedCount); trans.Dispose(); } }