Beispiel #1
0
        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();
            }
        }