Пример #1
0
        public When_ServiceStatusHistoryService_Is_Called_To_Save()
        {
            var httpContextAccessor = Substitute.For <IHttpContextAccessor>();

            httpContextAccessor.HttpContext.Returns(new DefaultHttpContext
            {
                User = new ClaimsPrincipal(new ClaimsIdentity(new[]
                {
                    new Claim(ClaimTypes.GivenName, "CreatedBy")
                }))
            });

            var config = new MapperConfiguration(c =>
            {
                c.AddMaps(typeof(OpportunityMapper).Assembly);
                c.ConstructServicesUsing(type =>
                                         type.Name.Contains("LoggedInUserEmailResolver") ?
                                         new LoggedInUserEmailResolver <ServiceStatusHistoryViewModel, Domain.Models.ServiceStatusHistory>(httpContextAccessor) :
                                         type.Name.Contains("LoggedInUserNameResolver") ?
                                         (object)new LoggedInUserNameResolver <ServiceStatusHistoryViewModel, Domain.Models.ServiceStatusHistory>(httpContextAccessor) :
                                         type.Name.Contains("UtcNowResolver") ?
                                         new UtcNowResolver <OpportunityDto, Domain.Models.Opportunity>(new DateTimeProvider()) :
                                         null);
            });
            var mapper = new Mapper(config);

            _serviceStatusHistoryRepository = Substitute.For <IRepository <Domain.Models.ServiceStatusHistory> >();

            var serviceStatusHistoryService = new ServiceStatusHistoryService(mapper, _serviceStatusHistoryRepository);

            serviceStatusHistoryService.SaveServiceStatusHistoryAsync(new ServiceStatusHistoryViewModel
            {
                IsOnline = true
            }).GetAwaiter().GetResult();
        }
        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();
        }