public void Employee_Must_Be_18() { // Test MvcArch.Domain.Employee emp = new MvcArch.Domain.Employee { FirstName = "First", BirthDate = DateTime.Today.AddYears(-5)}; List<ValidationResult> results = emp.Validate(new ValidationContext(emp, null, null)).ToList(); Assert.That(results, Has.Count.EqualTo(1)); Assert.That(results.First(), Has.Property("ErrorMessage").StringContaining("18 ans")); emp.BirthDate = emp.BirthDate.AddYears(-13); results = emp.Validate(new ValidationContext(emp, null, null)).ToList(); Assert.That(results, Has.Count.EqualTo(0)); }
public void Login_Must_Be_Unique() { // Arrange repository Mock<IRepository<Employee>> repo = new Mock<IRepository<Employee>>(); repo.Setup(rr => rr.Find(It.IsAny<Expression<Func<Employee, bool>>>())) .Returns( (Expression<Func<Employee, bool>> expr, Expression<Func<Employee, object>>[] includeProperties) => _list.Where(expr.Compile())); // Arrange unit of work Mock<IUnitOfWork> uow = new Mock<IUnitOfWork>(); // Arrange service Mock<EmployeeService> service = new Mock<EmployeeService>(repo.Object, uow.Object) {CallBase = true}; // Test MvcArch.Domain.Employee domainEmp = new MvcArch.Domain.Employee { FirstName = "New First", LastName = "New Last", BirthDate = new DateTime(1970, 1, 1), Login = "******", Id = -1 }; Assert.Throws<BusinessRuleException>(() => service.Object.Add(domainEmp)); }