public void CreateAsync_YearPropertyMoreThan2100_Throws()
        {
            LeaveScheduleService lss  = GetNewService();
            LeaveScheduleDTO     item = new LeaveScheduleDTO {
                Year = 2101
            };

            Exception ex = Assert.CatchAsync(async() => await lss.CreateAsync(item));

            StringAssert.Contains("Некорректный год", ex.Message);
        }
Exemple #2
0
        private LeaveScheduleDTO MapViewModelWithDTO(LeaveScheduleViewModel ls)
        {
            Mapper.Initialize(cfg => cfg.CreateMap <LeaveScheduleViewModel, LeaveScheduleDTO>());
            Mapper.Initialize(cfg => {
                cfg.CreateMap <LeaveScheduleViewModel, LeaveScheduleDTO>();
                cfg.CreateMap <AnnualLeaveViewModel, AnnualLeaveDTO>()
                .ForMember(al => al.Employee, opt => opt.Ignore())
                .ForMember(al => al.LeaveSchedule, opt => opt.Ignore());
            });
            LeaveScheduleDTO lsDto = Mapper.Map <LeaveScheduleViewModel, LeaveScheduleDTO>(ls);

            return(lsDto);
        }
Exemple #3
0
 public async Task <ActionResult> Create(LeaveScheduleViewModel ls)
 {
     try {
         LeaveScheduleDTO lsDto = MapViewModelWithDTO(ls);
         await(_leaveScheduleService as LeaveScheduleService).CreateAsync(lsDto);
         return(RedirectToAction("Index"));
     }
     catch (ValidationException ex) {
         _logger.Warn(ex.Message);
         ModelState.AddModelError(ex.Property, ex.Message);
     }
     return(View("Create", ls));
 }
Exemple #4
0
        private async Task <ActionResult> GetViewAsync(int?id, string viewName)
        {
            try {
                LeaveScheduleDTO lsDto = await _leaveScheduleService.FindByIdAsync(id);

                LeaveScheduleViewModel ls = MapDTOWithViewModel(lsDto);
                return(View(viewName, ls));
            }
            catch (ValidationException ex) {
                _logger.Warn(ex.Message);
                return(View("Error", new string[] { ex.Message }));
            }
        }
        public void EditAsync_DateOfPreparationPropertyMoreThanDateOfApprovalProperty_Throws()
        {
            LeaveScheduleService lss  = GetNewService();
            LeaveScheduleDTO     item = new LeaveScheduleDTO {
                Year = 2018,
                DateOfPreparation = new DateTime(2000, 11, 20),
                DateOfApproval    = new DateTime(2000, 8, 20)
            };

            Exception ex = Assert.CatchAsync(async() => await lss.EditAsync(item));

            StringAssert.Contains("Дата утверждения не должна быть до даты составления", ex.Message);
        }
        public override async Task FindByIdAsync_IdEqualTo2_ReturnsObjectWithIdEqualTo2()
        {
            Mock <IUnitOfWork> mock = new Mock <IUnitOfWork>();

            mock.Setup(m => m.LeaveSchedules.FindByIdAsync(It.IsAny <int>())).ReturnsAsync((int item_id) => new LeaveSchedule()
            {
                Id = item_id
            });
            LeaveScheduleService lss = GetNewService(mock.Object);

            LeaveScheduleDTO result = await lss.FindByIdAsync(2);

            Assert.AreEqual(2, result.Id);
        }
        public void EditAsync_LeaveScheduleWithSameYearAlreadyExists_Throws()
        {
            Mock <IUnitOfWork> mock = new Mock <IUnitOfWork>();

            mock.Setup(m => m.LeaveSchedules.CountAsync(It.IsAny <Expression <Func <LeaveSchedule, bool> > >())).ReturnsAsync(1);
            LeaveScheduleService lss  = GetNewService(mock.Object);
            LeaveScheduleDTO     item = new LeaveScheduleDTO {
                Year = 2018
            };

            Exception ex = Assert.CatchAsync(async() => await lss.EditAsync(item));

            StringAssert.Contains("График отпусков уже существует", ex.Message);
        }
        public async Task CreateAsync_CallsWithGoodParams_CallsSaveAsyncMethodOnсe()
        {
            Mock <IUnitOfWork> mock = new Mock <IUnitOfWork>();

            mock.Setup(m => m.LeaveSchedules.CountAsync(It.IsAny <Expression <Func <LeaveSchedule, bool> > >())).ReturnsAsync(0);
            LeaveScheduleService lss  = GetNewService(mock.Object);
            LeaveScheduleDTO     item = new LeaveScheduleDTO {
                Year = 2018
            };

            await lss.CreateAsync(item);

            mock.Verify(m => m.SaveAsync(), Times.Once());
        }
        public override async Task EditAsync_CallsWithGoodParams_CallsUpdateMethodOnсe()
        {
            Mock <IUnitOfWork> mock = new Mock <IUnitOfWork>();

            mock.Setup(m => m.LeaveSchedules.CountAsync(It.IsAny <Expression <Func <LeaveSchedule, bool> > >())).ReturnsAsync(0);
            mock.Setup(m => m.LeaveSchedules.FindByIdAsync(It.IsAny <int>())).ReturnsAsync(new LeaveSchedule {
                Id = 1
            });
            LeaveScheduleService lss  = GetNewService(mock.Object);
            LeaveScheduleDTO     item = new LeaveScheduleDTO {
                Year = 2018
            };

            await lss.EditAsync(item);

            mock.Verify(m => m.LeaveSchedules.Update(It.IsAny <LeaveSchedule>()), Times.Once);
        }