public void GetGST_GSTRATE_GetByKey() { // Setup dependency var settingsMock = new Mock<ISettings>(); var repositoryMock = new Mock<IRepository>(); var uoMock = new Mock<IUnitOfWork>(); var serviceLocatorMock = new Mock<IServiceLocator>(); serviceLocatorMock.Setup(x => x.GetInstance<IRepository>()) .Returns(repositoryMock.Object); ServiceLocator.SetLocatorProvider(() => serviceLocatorMock.Object); // Arrange Guid id = Guid.NewGuid(); SystemConfig sys = new SystemConfig() { Name = "GST_RATE", Value ="1234" }; SystemConfig [] systems = new SystemConfig[] {sys}; repositoryMock.Setup(e => e.Query<SystemConfig>()).Returns(systems.AsQueryable()); // Act var systemConfigService = new SystemConfigService(uoMock.Object, repositoryMock.Object, settingsMock.Object); decimal actulvalue = systemConfigService.GetGST(); // Assert Assert.AreEqual(decimal.Parse(sys.Value, CultureInfo.InvariantCulture), actulvalue); }
public void GetByKey_Anykey_CallsQueryMethodOfRepository() { // Setup dependency var settingsMock = new Mock<ISettings>(); var uoMock = new Mock<IUnitOfWork>(); var repositoryMock = new Mock<IRepository>(); var serviceLocatorMock = new Mock<IServiceLocator>(); serviceLocatorMock.Setup(x => x.GetInstance<IRepository>()) .Returns(repositoryMock.Object); ServiceLocator.SetLocatorProvider(() => serviceLocatorMock.Object); // Arrange Guid id = Guid.NewGuid(); var key = "MARK_UP_ON_PLATFORM"; SystemConfig system = new SystemConfig() { Id=id, Name = key, Value = "1234" }; SystemConfig[] systems = new SystemConfig[] { system }; repositoryMock.Setup(e => e.Query<SystemConfig>()).Returns(systems.AsQueryable()); // Act var systemConfigService = new SystemConfigService(uoMock.Object, repositoryMock.Object, settingsMock.Object); SystemConfigDto actualSystemconfig = systemConfigService.GetByKey(key); // Assert Assert.AreEqual(id, actualSystemconfig.Id); }
public void UpdateParamatricBusinessRules_ParamatricBusinessRulesModelDto_MaximumLeadTime() { var settingsMock = new Mock<ISettings>(); var repositoryMock = new Mock<IRepository>(); var uowMock = new Mock<IUnitOfWork>(); var serviceLocatorMock = new Mock<IServiceLocator>(); serviceLocatorMock.Setup(x => x.GetInstance<IRepository>()) .Returns(repositoryMock.Object); serviceLocatorMock.Setup(x => x.GetInstance<IUnitOfWork>()) .Returns(uowMock.Object); ServiceLocator.SetLocatorProvider(() => serviceLocatorMock.Object); repositoryMock.Setup(r => r.CreateUnitOfWork()).Returns(uowMock.Object); // Arrange Guid id = Guid.NewGuid(); ParamatricBusinessRulesModelDto paramatricBusinessRulesModelDto = new ParamatricBusinessRulesModelDto { CommissionLevels = "COMMISSION_LEVELS", ExpiryTimeFrame = "ExpiryTimeFrame".ToUpper(), FileUploadLimits = "FileUploadLimits".ToUpper(), Margins = "Margins".ToUpper(), MaximumBooking = "MaximumBooking".ToUpper(), MaximumLeadTime = "MAXIMUM_LEAD_TIME", MinimumBooking = "MinimumBooking".ToUpper(), MinimumLeadTime = "MinimumLeadTime".ToUpper(), NavigateHref = "NavigateHref".ToUpper() }; SystemConfig config = new SystemConfig { Id = Guid.NewGuid(), Name = "MAXIMUM_LEAD_TIME" }; SystemConfig[] systemConfigs = new SystemConfig[] { config }; repositoryMock.Setup(r => r.Query<SystemConfig>()).Returns(systemConfigs.AsQueryable()); // Act ManagementService managementService = new ManagementService( uowMock.Object, repositoryMock.Object, settingsMock.Object); managementService .UpdateParamatricBusinessRules(paramatricBusinessRulesModelDto); // Assert //Query repositoryMock.Verify(repo => repo.Query<SystemConfig>()); //Update repositoryMock.Verify(repo => repo.Update<SystemConfig>(It.Is<SystemConfig> (s => s.Name == ParamatricBusinessRules.MAXIMUM_LEAD_TIME.ToString()))); //Insert repositoryMock.Verify(repo => repo.Insert<SystemConfig>(It.Is<SystemConfig> (s => s.Name == ParamatricBusinessRules.EXPIRY_TIMEFRAME.ToString()))); repositoryMock.Verify(repo => repo.Insert<SystemConfig>(It.Is<SystemConfig> (s => s.Name == ParamatricBusinessRules.FILE_UPLOAD_LIMITS.ToString()))); repositoryMock.Verify(repo => repo.Insert<SystemConfig>(It.Is<SystemConfig> (s => s.Name == ParamatricBusinessRules.MAXIMUM_BOOKING.ToString()))); repositoryMock.Verify(repo => repo.Insert<SystemConfig>(It.Is<SystemConfig> (s => s.Name == ParamatricBusinessRules.COMMISSION_LEVELS.ToString()))); repositoryMock.Verify(repo => repo.Insert<SystemConfig>(It.Is<SystemConfig> (s => s.Name == ParamatricBusinessRules.MINIMUM_BOOKING.ToString()))); repositoryMock.Verify(repo => repo.Insert<SystemConfig>(It.Is<SystemConfig> (s => s.Name == ParamatricBusinessRules.MINIMUM_LEAD_TIME.ToString()))); //Save uowMock.Verify(uow => uow.Save()); }