public void Return_Fasle_IfTheEmailisUnique() { var mockedUserRepo = new Mock <IRepository <User> >(); var mockedUoW = new Mock <Func <IUnitOfWork> >(); var service = new AccountManagementService(mockedUserRepo.Object, mockedUoW.Object); string email = "*****@*****.**"; var users = new List <User>() { new User() { Email = email } }; mockedUserRepo.Setup(x => x.GetAll(It.IsAny <Expression <Func <User, bool> > >(), It.IsAny <Expression <Func <User, string> > >())) .Returns( (Expression <Func <User, bool> > predicate, Expression <Func <User, string> > select) => users.Where(predicate.Compile()) .Select(select.Compile())); var result = service.IsEmailUnique(email); Assert.IsFalse(result); }
public void Throw_ArgumentNullException_WithMsgCointainEmail_WhenEmailIsNull() { var mockedUserRepo = new Mock <IRepository <User> >(); var mockedUoW = new Mock <Func <IUnitOfWork> >(); var service = new AccountManagementService(mockedUserRepo.Object, mockedUoW.Object); Assert.That(() => service.IsEmailUnique(null), Throws.ArgumentNullException.With.Message.Contain("email")); }
public void CallGetAllMethod_FromUserRepo_Once(string email) { var mockedUserRepo = new Mock <IRepository <User> >(); var mockedUoW = new Mock <Func <IUnitOfWork> >(); var service = new AccountManagementService(mockedUserRepo.Object, mockedUoW.Object); service.IsEmailUnique(email); mockedUserRepo.Verify(x => x.GetAll(It.IsAny <Expression <Func <User, bool> > >(), It.IsAny <Expression <Func <User, string> > >()), Times.Once); }