public async Task <OperationResult> ConfirmEmail(CacheDTO cacheDto)
        {
            var user = Db.UserRepository.Get(cacheDto.UserId);

            if (user == null)
            {
                return(new OperationResult(false, "Invalid user Id", "userId"));
            }

            if (string.IsNullOrEmpty(cacheDto.Token))
            {
                return(new OperationResult(false, "Token is null or empty", "verification token"));
            }

            if (cacheDto.Token != _cacheHelper.GetValue(cacheDto.UserId).Token)
            {
                return(new OperationResult(false, "Validation failed", ""));
            }

            user.EmailConfirmed = true;
            await Db.SaveAsync();

            _cacheHelper.Delete(cacheDto.UserId);
            return(new OperationResult(true, "Verify succeeded", ""));
        }
Beispiel #2
0
        public void ConfirmEmail_NotCorrectUserId_ReturnFalse()
        {
            CacheDTO cache = new CacheDTO()
            {
            };

            mockUnitOfWork.Setup(u => u.UserRepository.Get(cache.UserId));
            var result = service.ConfirmEmail(cache);

            Assert.IsFalse(result.Result.Successed);
        }
Beispiel #3
0
        public void ConfirmEmail_TokenIsNullOrEmpty_ReturnFalse(string token)
        {
            CacheDTO cache = new CacheDTO()
            {
                UserId = existingUser.Id, Token = token
            };


            mockUnitOfWork.Setup(u => u.UserRepository.Get(cache.UserId))
            .Returns(existingUser);


            var result = service.ConfirmEmail(cache);

            Assert.IsFalse(result.Result.Successed);
        }
Beispiel #4
0
        public void ConfirmEmail_CachingFailed_ReturnFalse()
        {
            CacheDTO cache = new CacheDTO()
            {
                UserId = existingUser.Id, Token = "validToken"
            };


            mockUnitOfWork.Setup(u => u.UserRepository.Get(cache.UserId))
            .Returns(existingUser);

            mockCacheHelper.Setup(u => u.GetValue(cache.UserId))
            .Returns(new CacheDTO {
                Token = "invalidToken"
            });

            var result = service.ConfirmEmail(cache);

            Assert.IsFalse(result.Result.Successed);
        }
Beispiel #5
0
        public void Update(CacheDTO value)
        {
            MemoryCache memoryCache = MemoryCache.Default;

            memoryCache.Set(value.UserId.ToString(), value, DateTime.Now.AddDays(10));
        }
Beispiel #6
0
        public bool Add(CacheDTO value)
        {
            MemoryCache memoryCache = MemoryCache.Default;

            return(memoryCache.Add(value.UserId.ToString(), value, DateTime.Now.AddDays(10)));
        }
Beispiel #7
0
        public ActionResult MemoryStatus( )
        {
            CacheDTO model = CacheManager.GetCacheDTO( );

            return(View(model));
        }