Ejemplo n.º 1
0
        public async Task UpdateCurrency_ShouldBeCallUpdateMethodWithRightArguments()
        {
            try
            {
                var currencyDTO = new CreateCurrencyDTO();
                currencyDTO.CurrencyName        = "Unit Test";
                currencyDTO.CurrencyDescription = "Unit Test Description";
                currencyDTO.CurrencyLabel       = "444";
                currencyDTO.CurrencyKey         = 9999999;

                //var currencyDTO2 = new ActualResult<CreateCurrencyDTO>();
                //currencyDTO2.Result.CurrencyName = "Unit Test";
                //currencyDTO2.Result.CurrencyDescription = "Unit Test Description";
                //currencyDTO2.Result.CurrencyLabel = "444";
                //currencyDTO2.Result.CurrencyKey = 2;

                //var _mapper = _autoMapper.Create();

                //_.Setup(x => x.Map<CreateCurrencyDTO>(It.IsAny<Persistences.Models.DimCurrency>()));

                //var test = _currencyService.Setup(x => x.GetAsync(It.IsAny<int>())).Returns(currencyDTO);
                _currencyService.Setup(x => x.UpdateAsync(It.IsAny <CreateCurrencyDTO>())).ReturnsAsync((ActualResult x) => x);

                await _service.UpdateAsync(currencyDTO);

                //_currencyService.Verify(x => x.UpdateAsync(
                //        It.Is<CreateCurrencyDTO>(c => c.CurrencyKey == currencyDTO.CurrencyKey &&  c.CurrencyName == currencyDTO.CurrencyName && c.CurrencyDescription == currencyDTO.CurrencyName && c.CurrencyLabel == currencyDTO.CurrencyLabel)),
                //    Times.Exactly(1));

                _currencyService.Verify(x => x.UpdateAsync(It.Is <CreateCurrencyDTO>(
                                                               t => t.CurrencyKey == currencyDTO.CurrencyKey &&
                                                               t.CurrencyName == currencyDTO.CurrencyName &&
                                                               t.CurrencyDescription == currencyDTO.CurrencyDescription &&
                                                               t.CurrencyLabel == currencyDTO.CurrencyLabel)));

                //_currencyService.Verify(r => r.UpdateAsync(It.IsAny<CreateCurrencyDTO>()), Times.Once);

                Assert.IsTrue(true);
            }
            catch (Exception)
            {
                Assert.IsTrue(false);
            }
        }
        public async Task <ActualResult> UpdateAsync(CreateCurrencyDTO dto)
        {
            try
            {
                var mapping = _mapper.Map <DimCurrency>(dto);

                mapping.UpdateDate            = DateTime.Now;
                _context.Entry(mapping).State = EntityState.Modified;
                _context.Entry(mapping).Property(x => x.CurrencyKey).IsModified = false;
                _context.Entry(mapping).Property(x => x.EtlloadId).IsModified   = false;
                _context.Entry(mapping).Property(x => x.LoadDate).IsModified    = false;
                await _context.SaveChangesAsync();

                return(new ActualResult());
            }
            catch (Exception exception)
            {
                return(new ActualResult(DescriptionExceptionHelper.GetDescriptionError(exception)));
            }
        }
        public async Task <ActualResult <string> > CreateMainCurrencyAsync(CreateCurrencyDTO dto)
        {
            try
            {
                var currency        = _mapper.Map <DimCurrency>(dto);
                var currentDateTime = DateTime.Now;
                currency.LoadDate   = currentDateTime;
                currency.UpdateDate = currentDateTime;
                currency.EtlloadId  = 1;
                await _context.DimCurrency.AddAsync(currency);

                await _context.SaveChangesAsync();

                return(new ActualResult <string> {
                    Result = currency.CurrencyKey.ToString()
                });
            }
            catch (Exception exception)
            {
                return(new ActualResult <string>(DescriptionExceptionHelper.GetDescriptionError(exception)));
            }
        }