public ActionResult <ExpandoObject> Get(int?offset, int?limit, string filter) { if (offset != null) { _offset = (int)offset; } if (limit != null) { _limit = (int)limit; } _filter = filter; return(_service.Get(_limit, _offset, _filter)); }
public async Task <IActionResult> GetBudget([FromRoute] int Id) { try { Service.Username = User.Claims.Single(p => p.Type.Equals("username")).Value; Service.Token = Request.Headers["Authorization"].First().Replace("Bearer ", ""); await Service.GeneratePO(Id); var model = Service.ReadModelById(Id).Result; var rateModel = _rateService.Get().SingleOrDefault(x => x.Name == "THR"); //Get Default THR From Rate (Master Ongkos) var viewModel = Service.MapToViewModel(model); var rateViewModel = _rateService.MapToViewModel(rateModel); viewModel.Thr = rateViewModel; CostCalculationRetailBudgetPdfTemplate PdfTemplate = new CostCalculationRetailBudgetPdfTemplate(); MemoryStream stream = PdfTemplate.GeneratePdfTemplate(viewModel); return(new FileStreamResult(stream, "application/pdf") { FileDownloadName = "CostCalculationRetailBudget_" + viewModel.RO + ".pdf" }); } catch (Exception e) { Dictionary <string, object> Result = new ResultFormatter(ApiVersion, General.INTERNAL_ERROR_STATUS_CODE, e.Message) .Fail(); return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, Result)); } }
public async Task Get_should_return_latest_default_rate() { var defaultRate = 3.668m; var currenciesList = new List <CurrencyRate>(); var currencyRatesMock = currenciesList.AsQueryable().BuildMockDbSet(); var defaultCurrencyRatesMock = new List <DefaultCurrencyRate> { new DefaultCurrencyRate { Rate = defaultRate + 0.1m, Source = "USD", Target = "AED", ValidFrom = DateTime.UtcNow.AddMinutes(-10) }, new DefaultCurrencyRate { Rate = defaultRate, Source = "USD", Target = "AED", ValidFrom = DateTime.UtcNow } }.AsQueryable().BuildMockDbSet(); var contextMock = new Mock <CurrencyConverterContext>(); contextMock.Setup(m => m.CurrencyRates) .Returns(currencyRatesMock.Object); contextMock.Setup(m => m.DefaultCurrencyRates) .Returns(defaultCurrencyRatesMock.Object); currencyRatesMock.Setup(d => d.AddRange(It.IsAny <IEnumerable <CurrencyRate> >())) .Callback <IEnumerable <CurrencyRate> >(currenciesList.AddRange); contextMock.Setup(m => m.SaveChangesAsync(It.IsAny <CancellationToken>())) .ReturnsAsync(0); var service = new RateService(new NullLoggerFactory(), GetCache(), GetHttpClientFactory(), _options, contextMock.Object); var(isSuccess, _, returnedValue) = await service.Get(Currencies.USD, Currencies.AED); Assert.Equal(defaultRate, returnedValue); }
public async Task Get_should_return_the_last_value_when_pair_not_in_the_returned_list() { const decimal value = 12.3456m; var time = DateTime.UtcNow; var currencyRatesMock = new List <CurrencyRate> { new CurrencyRate { Rate = value, Source = "USD", Target = "SAR", ValidFrom = time }, new CurrencyRate { Rate = value - 10m, Source = "USD", Target = "SAR", ValidFrom = time.AddMinutes(-10) } }.AsQueryable().BuildMockDbSet(); var defaultCurrencyRatesMock = new List <DefaultCurrencyRate>().AsQueryable().BuildMockDbSet(); var contextMock = new Mock <CurrencyConverterContext>(); contextMock.Setup(m => m.CurrencyRates) .Returns(currencyRatesMock.Object); contextMock.Setup(m => m.DefaultCurrencyRates) .Returns(defaultCurrencyRatesMock.Object); contextMock.Setup(m => m.SaveChangesAsync(It.IsAny <CancellationToken>())) .ReturnsAsync(0); var service = new RateService(new NullLoggerFactory(), GetCache(), GetHttpClientFactory(), _options, contextMock.Object); var(isSuccess, _, returnedValue) = await service.Get(Currencies.USD, Currencies.SAR); Assert.True(isSuccess); Assert.Equal(value, returnedValue); }
public async void Get_null_record() { var mock = new ServiceMockFacade <IRateRepository>(); mock.RepositoryMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult <Rate>(null)); var service = new RateService(mock.LoggerMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.RateModelValidatorMock.Object, mock.BOLMapperMockFactory.BOLRateMapperMock, mock.DALMapperMockFactory.DALRateMapperMock); ApiRateResponseModel response = await service.Get(default(int)); response.Should().BeNull(); mock.RepositoryMock.Verify(x => x.Get(It.IsAny <int>())); }
public void GetByIdTest() { //Arange Mock <IUnitOfWork> unitOfWorkMock = new Mock <IUnitOfWork>(); Mock <IRepository <Rate> > repositoryMock = new Mock <IRepository <Rate> >(); repositoryMock.Setup(repo => repo.Get(It.IsAny <Expression <Func <Rate, bool> > >())) .Returns <Expression <Func <Rate, bool> > >(predicate => _rates.Where(predicate.Compile()).AsQueryable()); unitOfWorkMock.Setup(getRepo => getRepo.GetRepository <Rate>()).Returns(repositoryMock.Object); RateService _rateService = new RateService(unitOfWorkMock.Object); //Act RateDTO _rateDto = _rateService.Get("id1"); //Assert Assert.NotNull(_rateDto); Assert.Equal(1, _rateDto.Value); }
public void GetByFilterByBookIdTest() { //Arange Mock <IUnitOfWork> unitOfWorkMock = new Mock <IUnitOfWork>(); Mock <IRepository <Rate> > repositoryMock = new Mock <IRepository <Rate> >(); repositoryMock.Setup(repo => repo.Get(It.IsAny <Expression <Func <Rate, bool> > >())).Returns(_rates.AsQueryable); unitOfWorkMock.Setup(getRepo => getRepo.GetRepository <Rate>()).Returns(repositoryMock.Object); RateService _rateService = new RateService(unitOfWorkMock.Object); RateFilterByBookId _rateFilter = new RateFilterByBookId(); //Act IEnumerable <RateDTO> _ratesDto = _rateService.Get(_rateFilter); //Assert Assert.NotNull(_ratesDto); Assert.NotEmpty(_ratesDto); Assert.Equal(3, _ratesDto.Count()); }
public async Task Get_should_return_value() { var currencyRatesMock = new List <CurrencyRate>().AsQueryable().BuildMockDbSet(); var defaultCurrencyRatesMock = new List <DefaultCurrencyRate>().AsQueryable().BuildMockDbSet(); var contextMock = new Mock <CurrencyConverterContext>(); contextMock.Setup(m => m.CurrencyRates) .Returns(currencyRatesMock.Object); contextMock.Setup(m => m.DefaultCurrencyRates) .Returns(defaultCurrencyRatesMock.Object); contextMock.Setup(m => m.SaveChangesAsync(It.IsAny <CancellationToken>())) .ReturnsAsync(0); var service = new RateService(new NullLoggerFactory(), GetCache(), GetHttpClientFactory(), _options, contextMock.Object); var(isSuccess, _, _) = await service.Get(Currencies.USD, Currencies.AED); Assert.True(isSuccess); }
public async Task Get_should_return_problem_details_when_pair_not_in_the_returned_list_and_not_in_the_database() { var currencyRatesMock = new List <CurrencyRate>().AsQueryable().BuildMockDbSet(); var defaultCurrencyRatesMock = new List <DefaultCurrencyRate>().AsQueryable().BuildMockDbSet(); var contextMock = new Mock <CurrencyConverterContext>(); contextMock.Setup(m => m.CurrencyRates) .Returns(currencyRatesMock.Object); contextMock.Setup(m => m.DefaultCurrencyRates) .Returns(defaultCurrencyRatesMock.Object); contextMock.Setup(m => m.SaveChangesAsync(It.IsAny <CancellationToken>())) .ReturnsAsync(0); var service = new RateService(new NullLoggerFactory(), GetCache(), GetHttpClientFactory(), _options, contextMock.Object); var(_, isFailure, _, error) = await service.Get(Currencies.USD, Currencies.NotSpecified); Assert.True(isFailure); Assert.Equal(400, error.Status); }
public ActionResult <List <Rate> > Get() => _rateService.Get();