public void TestGetCurrencyList() { entities = new List <Currency>(); entities.Add(new Currency { Id = 1, Name = "MIKI", Rate = -3.5 }); entities.Add(new Currency { Id = 2, Name = "ZOKI" }); var myDbMoq = new Mock <ApplicationDbContext>(); myDbMoq.Setup(p => p.Currencies).Returns( DbContextMock.GetQueryableMockDbSet <Currency>(entities)); myDbMoq.Setup(p => p.SaveChanges()).Returns(2); CurrencyRateService crs = new CurrencyRateService(myDbMoq.Object, new DateService()); var ret = crs.GetCurrencyList(); Assert.NotNull(ret); Assert.True(ret.Exists(x => x.Id == 1 && x.Name.Equals("MIKI") && x.Rate == -3.5), "Nepostojeci element"); Assert.True(ret.Exists(x => x.Id == 2 && x.Name.Equals("ZOKI") && x.Rate == 0.0), "Nepostojeci element"); }
public CurrencyRatesControllerTests(TestFixture <Startup> fixture) { var rates = new List <CurrencyRate> { new CurrencyRate { From = "USD", To = "CAD", Rate = 1.97M } }; OnlineRepository = new Mock <IRepository <CurrencyRate> >(); OnlineRepository.Setup(x => x.GetAll()) .ReturnsAsync(rates); OnlineRepository.Setup(x => x.Where(It.IsAny <Expression <Func <CurrencyRate, bool> > >())) .Returns((Expression <Func <CurrencyRate, bool> > exp) => rates.AsQueryable().Where(exp)); LocalRepository = new Mock <ILocalSourceRepository <CurrencyRate> >(); LocalRepository.Setup(x => x.GetAll()) .ReturnsAsync(rates); LocalRepository.Setup(x => x.Where(It.IsAny <Expression <Func <CurrencyRate, bool> > >())) .Returns((Expression <Func <CurrencyRate, bool> > exp) => rates.AsQueryable().Where(exp)); LocalRepository.Setup(x => x.Refresh(rates)); var Logger = (ILogger <CurrencyRatesController>)fixture.Server.Host.Services.GetService(typeof(ILogger <CurrencyRatesController>)); var logger = (ILogger <CurrencyRateService>)fixture.Server.Host.Services.GetService(typeof(ILogger <CurrencyRateService>)); Service = new CurrencyRateService(OnlineRepository.Object, LocalRepository.Object, logger); TestController = new CurrencyRatesController(Service, Logger); }
public BankAccountApplicationService(BankContext db, INotificationService notificationService, CurrencyRateService currencyRateService, IConfiguration configuration, IQueryDatabaseGateway queryDatabaseGateway) { _queryDatabaseGateway = queryDatabaseGateway; _configuration = configuration; _currencyRateService = currencyRateService; _notificationService = notificationService; _db = db; }
private async Task <CurrencyModel> ConvertCurrencyAsync(CurrencyModel currencyModelFrom, CurrencyEnum currencyTo) { var currency = new CurrencyModel(); var currencyRateService = new CurrencyRateService(); var currencyInfo = await currencyRateService.GetCurrencyInfoAsync(currencyModelFrom.Currency, currencyTo); currency.Currency = currencyTo; currency.Price = currencyModelFrom.Price * currencyInfo.Rate; return(currency); }
public void GetBaseRate_ReturnsDKK_WhenCalled() { var repo = new Mock <ICurrencyRateRepository>(); repo.Setup(x => x.GetCurrencyRate("DKK")).Returns(new CurrencyRate() { IsoName = "DKK" }); var service = new CurrencyRateService(repo.Object); var result = service.GetBaseCurrency(); Assert.IsNotNull(result); Assert.AreEqual("DKK", result.IsoName); }
public SelfHost() { var log = new ServiceEventLogger(DataType.ServiceName.Arbitrage, new DbRepositoryService()); _msgHandling = new MessageHandling(log, new RestScheduler(log)); _matching = new MatchingEngine(log, _msgHandling); _rateService = new CurrencyRateService(); _tcp = new TcpService(); _msgHandling.MatchingEngine = _matching; _msgHandling.ExchangePrices += _matching.OnExchangePrices; if (!EventLog.SourceExists(ServiceName)) { EventLog.CreateEventSource(ServiceName, ServiceName + "Log"); } }
public async void ByCurrencyRateDateFromCurrencyCodeToCurrencyCode_Not_Exists() { var mock = new ServiceMockFacade <ICurrencyRateRepository>(); mock.RepositoryMock.Setup(x => x.ByCurrencyRateDateFromCurrencyCodeToCurrencyCode(It.IsAny <DateTime>(), It.IsAny <string>(), It.IsAny <string>())).Returns(Task.FromResult <CurrencyRate>(null)); var service = new CurrencyRateService(mock.LoggerMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.CurrencyRateModelValidatorMock.Object, mock.BOLMapperMockFactory.BOLCurrencyRateMapperMock, mock.DALMapperMockFactory.DALCurrencyRateMapperMock, mock.BOLMapperMockFactory.BOLSalesOrderHeaderMapperMock, mock.DALMapperMockFactory.DALSalesOrderHeaderMapperMock); ApiCurrencyRateResponseModel response = await service.ByCurrencyRateDateFromCurrencyCodeToCurrencyCode(default(DateTime), default(string), default(string)); response.Should().BeNull(); mock.RepositoryMock.Verify(x => x.ByCurrencyRateDateFromCurrencyCodeToCurrencyCode(It.IsAny <DateTime>(), It.IsAny <string>(), It.IsAny <string>())); }
public async void SalesOrderHeadersByCurrencyRateID_Not_Exists() { var mock = new ServiceMockFacade <ICurrencyRateRepository>(); mock.RepositoryMock.Setup(x => x.SalesOrderHeadersByCurrencyRateID(default(int), It.IsAny <int>(), It.IsAny <int>())).Returns(Task.FromResult <List <SalesOrderHeader> >(new List <SalesOrderHeader>())); var service = new CurrencyRateService(mock.LoggerMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.CurrencyRateModelValidatorMock.Object, mock.BOLMapperMockFactory.BOLCurrencyRateMapperMock, mock.DALMapperMockFactory.DALCurrencyRateMapperMock, mock.BOLMapperMockFactory.BOLSalesOrderHeaderMapperMock, mock.DALMapperMockFactory.DALSalesOrderHeaderMapperMock); List <ApiSalesOrderHeaderResponseModel> response = await service.SalesOrderHeadersByCurrencyRateID(default(int)); response.Should().BeEmpty(); mock.RepositoryMock.Verify(x => x.SalesOrderHeadersByCurrencyRateID(default(int), It.IsAny <int>(), It.IsAny <int>())); }
public async void Get_null_record() { var mock = new ServiceMockFacade <ICurrencyRateRepository>(); mock.RepositoryMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult <CurrencyRate>(null)); var service = new CurrencyRateService(mock.LoggerMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.CurrencyRateModelValidatorMock.Object, mock.BOLMapperMockFactory.BOLCurrencyRateMapperMock, mock.DALMapperMockFactory.DALCurrencyRateMapperMock, mock.BOLMapperMockFactory.BOLSalesOrderHeaderMapperMock, mock.DALMapperMockFactory.DALSalesOrderHeaderMapperMock); ApiCurrencyRateResponseModel response = await service.Get(default(int)); response.Should().BeNull(); mock.RepositoryMock.Verify(x => x.Get(It.IsAny <int>())); }
public void GetCurrencyRate_ThrowsError_WhenUnsupportedCurrencyGiven() { var repo = new Mock <ICurrencyRateRepository>(); repo.Setup(x => x.GetCurrencies()).Returns(new List <CurrencyRate> { new CurrencyRate() { IsoName = "DKK" } }); repo.Setup(x => x.GetCurrencyRate("DKK")).Returns(new CurrencyRate() { IsoName = "DKK" }); var service = new CurrencyRateService(repo.Object); Assert.Throws <InvalidEnumArgumentException>(() => service.GetCurrencyRate("DAK")); }
public async Task GetRateByCurrencyCodeTest() { var cache = new Mock <ICache>(); var dic = new Dictionary <string, double>(); dic.Add("US", 10); cache .Setup(c => c.GetAsync <Dictionary <string, double> >( It.IsAny <string>(), It.IsAny <Func <string, Task <Dictionary <string, double> > > >(), It.IsAny <TimeSpan>())) .ReturnsAsync(dic); var reqCreator = new Mock <IAPIRequestCreator>(); var service = new CurrencyRateService(cache.Object, reqCreator.Object); var result = await service.GetRateByCurrencyCode("US"); Assert.AreEqual(10, result); }
public async void Delete() { var mock = new ServiceMockFacade <ICurrencyRateRepository>(); var model = new ApiCurrencyRateRequestModel(); mock.RepositoryMock.Setup(x => x.Delete(It.IsAny <int>())).Returns(Task.CompletedTask); var service = new CurrencyRateService(mock.LoggerMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.CurrencyRateModelValidatorMock.Object, mock.BOLMapperMockFactory.BOLCurrencyRateMapperMock, mock.DALMapperMockFactory.DALCurrencyRateMapperMock, mock.BOLMapperMockFactory.BOLSalesOrderHeaderMapperMock, mock.DALMapperMockFactory.DALSalesOrderHeaderMapperMock); ActionResponse response = await service.Delete(default(int)); response.Should().NotBeNull(); mock.RepositoryMock.Verify(x => x.Delete(It.IsAny <int>())); mock.ModelValidatorMockFactory.CurrencyRateModelValidatorMock.Verify(x => x.ValidateDeleteAsync(It.IsAny <int>())); }
public async void Create() { var mock = new ServiceMockFacade <ICurrencyRateRepository>(); var model = new ApiCurrencyRateRequestModel(); mock.RepositoryMock.Setup(x => x.Create(It.IsAny <CurrencyRate>())).Returns(Task.FromResult(new CurrencyRate())); var service = new CurrencyRateService(mock.LoggerMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.CurrencyRateModelValidatorMock.Object, mock.BOLMapperMockFactory.BOLCurrencyRateMapperMock, mock.DALMapperMockFactory.DALCurrencyRateMapperMock, mock.BOLMapperMockFactory.BOLSalesOrderHeaderMapperMock, mock.DALMapperMockFactory.DALSalesOrderHeaderMapperMock); CreateResponse <ApiCurrencyRateResponseModel> response = await service.Create(model); response.Should().NotBeNull(); mock.ModelValidatorMockFactory.CurrencyRateModelValidatorMock.Verify(x => x.ValidateCreateAsync(It.IsAny <ApiCurrencyRateRequestModel>())); mock.RepositoryMock.Verify(x => x.Create(It.IsAny <CurrencyRate>())); }
public async void All() { var mock = new ServiceMockFacade <ICurrencyRateRepository>(); var records = new List <CurrencyRate>(); records.Add(new CurrencyRate()); mock.RepositoryMock.Setup(x => x.All(It.IsAny <int>(), It.IsAny <int>())).Returns(Task.FromResult(records)); var service = new CurrencyRateService(mock.LoggerMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.CurrencyRateModelValidatorMock.Object, mock.BOLMapperMockFactory.BOLCurrencyRateMapperMock, mock.DALMapperMockFactory.DALCurrencyRateMapperMock, mock.BOLMapperMockFactory.BOLSalesOrderHeaderMapperMock, mock.DALMapperMockFactory.DALSalesOrderHeaderMapperMock); List <ApiCurrencyRateResponseModel> response = await service.All(); response.Should().HaveCount(1); mock.RepositoryMock.Verify(x => x.All(It.IsAny <int>(), It.IsAny <int>())); }
public CalculatorViewModel(IPageService pageService, ICurrencyRateGetter currencyRateGetter) { IsSaved = true; IsRatesLoaded = false; IsHistoryLoaded = false; IsAllLoaded = false; _historyDb = DependencyService.Get <ISQLiteDb>().GetConnection(); GetHistoryFromDb(); _currencyRateGetter = currencyRateGetter; _currencyRateService = new CurrencyRateService(); _pageService = pageService; Amount = ""; SetCurrenciesNames(); IsPlaceholder = true; AddNumberCommand = new Command <string>(AddNumber); AddZeroCommand = new Command(AddZero); AddDotCommand = new Command(AddDot); RemoveSymbolCommand = new Command(RemoveSymbol); RemoveAllCommand = new Command(RemoveAll); SaveCommand = new Command(Save); }
public async Task GetInfoByIpTest() { var country = new Country() { Alpha2Code = "US", Name = "United States of America" }; Mock <ICache> cache = GetCache(); Mock <ICache> cacheRate = CacheRate(); var cacheCountry = CacheCountry(); var reqCreator = new Mock <IAPIRequestCreator>(); var rateService = new CurrencyRateService(cacheRate.Object, reqCreator.Object); // 10 var countryService = new CountryService(cacheCountry, reqCreator.Object); var service = new IpInfoService(cache.Object, reqCreator.Object, countryService, rateService); var result = await service.GetInfoByIp("1.2.3.4"); Assert.AreEqual("US", result.Alpha2Code); Assert.AreEqual(10, result.Currencies.First().Rate); }
public void Init() { rateList = new List <CurrencyRate>(); // Список курсов для валюты createdRateList = new List <CurrencyRate>(); //Список созданных курсов валюты // инициализация валюты var mockCurrency = new Mock <Currency>(); mockCurrency.Setup(x => x.Id).Returns(1); mockCurrency.Setup(x => x.AddRate(It.IsAny <CurrencyRate>())) .Callback <CurrencyRate>(rate => rateList.Add(rate)); mockCurrency.Setup(x => x.RemoveRate(It.IsAny <CurrencyRate>())) .Callback <CurrencyRate>(rate => rateList.Remove(rate)); currency = mockCurrency.Object; // Инициализаия репозитория курсов валюты currencyRateRepository = new Mock <ICurrencyRateRepository>(); currencyRateRepository.Setup(x => x.GetRatesOnDate(It.IsAny <short>(), It.IsAny <DateTime>())) .Returns <short, DateTime>((currencyId, date) => { if (currencyId != 1) { return(new List <CurrencyRate>()); } return(rateList.Where(x => x.StartDate <= date && (x.EndDate >= date || x.EndDate == null))); }); currencyRateRepository.Setup(x => x.GetNextRateByDate(It.IsAny <short>(), It.IsAny <DateTime>(), It.IsAny <DateTime>())) .Returns <short, DateTime, DateTime>((currencyId, date, creationDate) => { return(rateList.Where(x => x.Currency.Id == currencyId && (x.StartDate > date || (x.StartDate == date && x.CreationDate > creationDate))) .OrderBy(x => x.StartDate) .ThenBy(x => x.CreationDate) .FirstOrDefault()); }); currencyRateRepository.Setup(x => x.CheckCurrencyRateUsing(It.IsAny <int>())).Returns(false); currencyRateRepository.Setup(x => x.GetPreviouseRate(It.IsAny <int>())) .Returns <int>(currencyRateId => { return(rateList.Where(x => x.Id == currencyRateId) .Select(x => x.PreviousCurrencyRate) .FirstOrDefault()); }); currencyRateRepository.Setup(x => x.GetNextRate(It.IsAny <int>())) .Returns <int>(currencyRateId => { return(rateList.Where(x => x.PreviousCurrencyRate != null && x.PreviousCurrencyRate.Id == currencyRateId) .FirstOrDefault()); }); currencyRateService = new CurrencyRateService(currencyRateRepository.Object); var mockUser = new Mock <User>(); mockUser.Setup(x => x.HasPermission(It.IsAny <Permission>())).Returns(true); user = mockUser.Object; }
public CurrencyController(CurrencyRateService service, IMapper mapper) { this.service = service; this.mapper = mapper; }
public ExchangeCommandHandler(BankContext db, CurrencyRateService currencyRateService) { _currencyRateService = currencyRateService; _db = db; }