示例#1
0
        public void Invoke_InvalidData_EmptyRepository()
        {
            // prepare
            var mockedUserTokenRepository = new Mock <IUserTokenRepository>();
            var action = new GetUserByToken(mockedUserTokenRepository.Object);

            // action
            var user = action.Invoke("123");

            // check
            Assert.Null(user);
            mockedUserTokenRepository.Verify(r => r.FindBy(It.IsAny <Expression <Func <DataAccess.Models.UserToken, bool> > >()), Times.Once);
        }
示例#2
0
        public void Invoke_ValidData_ReturnsCorrectModel()
        {
            var guid       = new Guid();
            var userFromDb = new DataAccess.Models.User
            {
                Id               = guid,
                Name             = "Name",
                Email            = "*****@*****.**",
                EmailConfirmedOn = DateTime.MinValue,
                LockedOn         = null,
                CreatedOn        = DateTime.MinValue,
                ModifiedOn       = DateTime.MinValue,
                DeletedOn        = null
            };

            var userTokenFromDb = new DataAccess.Models.UserToken
            {
                Id          = new Guid(),
                User        = userFromDb,
                SecretToken = "123"
            };

            var findByResult = new List <DataAccess.Models.UserToken> {
                userTokenFromDb
            };

            // prepare
            var mockedUserTokenRepository = new Mock <IUserTokenRepository>();

            mockedUserTokenRepository.Setup(r => r.FindBy(It.IsAny <Expression <Func <DataAccess.Models.UserToken, bool> > >()))
            .Returns(findByResult.AsQueryable);
            var action = new GetUserByToken(mockedUserTokenRepository.Object);

            // action
            var user = action.Invoke("123");

            // check
            Assert.Equal(guid, user.Id);
            Assert.Equal("Name", user.Name);
            Assert.Equal("*****@*****.**", user.Email);
            Assert.Equal(DateTime.MinValue, user.EmailConfirmedOn);
            Assert.Null(user.LockedOn);
            Assert.Equal(DateTime.MinValue, user.CreatedOn);
            Assert.Equal(DateTime.MinValue, user.ModifiedOn);
            Assert.Null(user.DeletedOn);
            mockedUserTokenRepository.Verify(r => r.FindBy(It.IsAny <Expression <Func <DataAccess.Models.UserToken, bool> > >()), Times.Once);
        }