public void GetByRoleGotDataFromDao() { const string usersRole = "Mentor"; IList <Internship.Cashe.Models.User> users = new List <Internship.Cashe.Models.User>(); Mock <IUserDAO> userDaoMock = new Mock <IUserDAO>(); Mock <IUserCache> userCacheMock = new Mock <IUserCache>(); userCacheMock.Setup(x => x.GetUsersByRole(usersRole)) .Verifiable(); userDaoMock.Setup(x => x.GetUsersByRole(usersRole)) .Returns(users) .Verifiable(); userCacheMock.Setup(x => x.Set(usersRole, users)) .Verifiable(); IUserDAO userDao = new CachedUserDAO(userDaoMock.Object, userCacheMock.Object); IList <Internship.Cashe.Models.User> result = userDao.GetUsersByRole(usersRole); Assert.That(result, Is.Not.Null); userCacheMock.Verify(x => x.GetUsersByRole(usersRole), Times.Once); userDaoMock.Verify(x => x.GetUsersByRole(usersRole), Times.Once); userCacheMock.Verify(x => x.Set(usersRole, result), Times.Once); }
public void GetByRoleGotDataFromCache() { const string usersRole = "Mentor"; Mock <IUserCache> userCacheMock = new Mock <IUserCache>(); userCacheMock.Setup(x => x.GetUsersByRole(usersRole)) .Returns(new List <User> { new User() }) .Verifiable(); Mock <IUserDAO> userDaoMock = new Mock <IUserDAO>(); userDaoMock.Setup(x => x.GetUsersByRole(usersRole)) .Verifiable(); IUserDAO userDao = new CachedUserDAO(userDaoMock.Object, userCacheMock.Object); IList <User> users = userDao.GetUsersByRole(usersRole); Assert.That(users, Is.Not.Null); userCacheMock.Verify(x => x.GetUsersByRole(usersRole), Times.Once); userDaoMock.Verify(x => x.GetUsersByRole(usersRole), Times.Never); }