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); }
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); }
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)); }
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); }