Пример #1
0
        public async Task ShouldInsertByCreateDto()
        {
            //Arrange
            var domainService       = new Mock <IFilterService>();
            var agentService        = new Mock <IAgentService>();
            var notificationManager = new Mock <INotificationManager>();
            var unitOfWorkManager   = new Mock <IUnitOfWorkManager>();

            unitOfWorkManager.Setup(t => t.Current.SaveChanges());
            domainService.Setup(t => t.Insert(It.Is <Filter>(r => r.Name == "name"))).Returns(MakeFilterEntity(1));
            FilterAppService filterAppService = new FilterAppService(domainService.Object, agentService.Object, notificationManager.Object, null);

            filterAppService.UnitOfWorkManager = unitOfWorkManager.Object;
            //Act
            FilterDetailsDto filterDetailsDto = await filterAppService.Insert(MakeFilterCreateDto());

            //Assert
            AssertDtoEqualToEntity(MakeFilterEntity(1), MakeFilterCreateDto());
            AssertDtoEqualToEntity(MakeFilterEntity(1), filterDetailsDto);
            Assert.NotNull(filterDetailsDto);
            domainService.Verify(t => t.CheckFieldIdExist(It.Is <List <FilterCondition> >(r => r.FirstOrDefault().FieldId == 1)));
            domainService.Verify(t => t.CheckFieldValue(It.Is <List <FilterCondition> >(r => r.FirstOrDefault().Value == "a")));
            agentService.Verify(t => t.FillCreatedByName(It.Is <List <FilterDetailsDto> >(r => r.FirstOrDefault().CreatedBy == 1)));
            notificationManager.Verify(t => t.NotifyNewFilter(It.Is <int>(r => r == 10000), It.Is <int>(r => r == 1)));
        }
Пример #2
0
        public async Task ShouldUpdate()
        {
            //Arrange
            var domainService       = new Mock <IFilterService>();
            var unitOfWorkManager   = new Mock <IUnitOfWorkManager>();
            var notificationManager = new Mock <INotificationManager>();
            var agentService        = new Mock <IAgentService>();

            unitOfWorkManager.Setup(t => t.Current.SaveChanges());
            Filter filter = MakeFilterEntity(1);

            domainService.Setup(t => t.Find(1)).Returns(filter);
            FilterAppService filterAppService = new FilterAppService(domainService.Object, agentService.Object, notificationManager.Object, null);

            filterAppService.UnitOfWorkManager = unitOfWorkManager.Object;
            //Act
            FilterDetailsDto filterDetailsDto = await filterAppService.Update(1, MakeFilterUpdateDto());

            //Assert
            domainService.Verify(t => t.DeleteConditons(It.Is <Filter>(r => r.Id == 1)));
            domainService.Verify(t => t.UpdateFilter(It.Is <Filter>(r => r.Id == 1), It.Is <FilterCondition[]>(r => r.FirstOrDefault().FieldId == 1)));
            notificationManager.Verify(t => t.NotifyUpdateFilter(It.Is <int>(r => r == 10000), It.Is <int>(r => r == 1)));
            agentService.Verify(t => t.FillCreatedByName(It.Is <List <FilterDetailsDto> >(r => r.FirstOrDefault().CreatedBy == 1)));
            AssertDtoEqualToEntity(filter, filterDetailsDto);
            AssertDtoEqualToEntity(filter, MakeFilterCreateDto());
        }
Пример #3
0
 private void AssertDtoEqualToEntity(Filter entity, FilterDetailsDto dto)
 {
     Assert.NotNull(dto);
     Assert.Equal(entity.Name, dto.Name);
     Assert.Equal(entity.Index, dto.Index);
     Assert.Equal(entity.Type, dto.Type);
     Assert.Equal(entity.LogicalExpression, dto.LogicalExpression);
     Assert.Equal(entity.IfPublic, dto.IfPublic);
     Assert.Equal(entity.CreatedBy, dto.CreatedBy);
     Assert.Equal(entity.Conditions.FirstOrDefault().FieldId, dto.Conditions.FirstOrDefault().FieldId);
     Assert.Equal(entity.Conditions.FirstOrDefault().Value, dto.Conditions.FirstOrDefault().Value);
 }
Пример #4
0
        public void ShouldFindFilterById()
        {
            //Arrange
            var domainService = new Mock <IFilterService>();
            var agentService  = new Mock <IAgentService>();

            domainService.Setup(t => t.Find(1)).Returns(MakeFilterEntity(1));
            agentService.Setup(t => t.GetDisplayName(1)).Returns("a");
            FilterAppService filterAppService = new FilterAppService(domainService.Object, agentService.Object, null, null);

            //Act
            FilterDetailsDto filterDetailsDto = filterAppService.Find(1);

            //Assert
            Assert.NotNull(filterDetailsDto);
            AssertDtoEqualToEntity(MakeFilterEntity(1), filterDetailsDto);
            Assert.Equal("a", filterDetailsDto.CreatedByName);
        }