public async Task <int> SaveServiceStatusHistoryAsync(ServiceStatusHistoryViewModel viewModel) { viewModel.IsOnline = !viewModel.IsOnline; var serviceStatusHistory = _mapper.Map <ServiceStatusHistoryViewModel, ServiceStatusHistory>(viewModel); return(await _serviceStatusHistoryRepository.CreateAsync(serviceStatusHistory)); }
public When_HomeController_SaveServiceStatusHistory_Is_Called_By_Standard_User() { _serviceStatusHistoryService = Substitute.For <IServiceStatusHistoryService>(); _serviceStatusHistoryService.GetLatestServiceStatusHistoryAsync() .Returns(new ServiceStatusHistoryViewModel { IsOnline = true }); var homeController = new HomeController(_serviceStatusHistoryService); var controllerWithClaims = new ClaimsBuilder <HomeController>(homeController) .AddStandardUser() .Build(); var httpContextAccessor = Substitute.For <IHttpContextAccessor>(); httpContextAccessor.HttpContext.Returns(controllerWithClaims.HttpContext); var viewModel = new ServiceStatusHistoryViewModel { IsOnline = true }; _result = homeController.SaveServiceStatusHistoryAsync(viewModel).GetAwaiter().GetResult(); }
public async Task <IActionResult> SaveServiceStatusHistoryAsync(ServiceStatusHistoryViewModel viewModel) { if (!HttpContext.User.HasAdminRole()) { return(RedirectToRoute("FailedLogin")); } await _serviceStatusHistoryService.SaveServiceStatusHistoryAsync(viewModel); return(RedirectToRoute("GetLatestServiceStatusHistory")); }
public When_ServiceStatusHistoryService_Is_Called_To_Get_Last_When_Empty() { var config = new MapperConfiguration(c => c.AddMaps(typeof(ServiceStatusHistoryMapper).Assembly)); var mapper = new Mapper(config); var mockDbSet = new ServiceStatusHistoryBuilder() .BuildEmptyList() .AsQueryable() .BuildMockDbSet(); var serviceStatusHistoryRepository = Substitute.For <IRepository <Domain.Models.ServiceStatusHistory> >(); serviceStatusHistoryRepository.GetManyAsync(Arg.Any <Expression <Func <Domain.Models.ServiceStatusHistory, bool> > >()).Returns(mockDbSet); var serviceStatusHistoryService = new ServiceStatusHistoryService(mapper, serviceStatusHistoryRepository); _result = serviceStatusHistoryService.GetLatestServiceStatusHistoryAsync() .GetAwaiter().GetResult(); }
public async Task <ServiceStatusHistoryViewModel> GetLatestServiceStatusHistoryAsync() { var serviceStatusHistory = await _serviceStatusHistoryRepository.GetManyAsync(ssh => true) .OrderByDescending(ssh => ssh.Id) .Select(ssh => new { ssh.Id, ssh.IsOnline }) .FirstOrDefaultAsync(); if (serviceStatusHistory == null) { return(new ServiceStatusHistoryViewModel()); } var viewModel = new ServiceStatusHistoryViewModel { IsOnline = serviceStatusHistory.IsOnline }; return(viewModel); }