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();
        }
Beispiel #3
0
        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);
        }