private async Task <OtpDocument> GetOtpRequest(UserModel user) { OtpDocument otpDocument = null; try { var iterator = _db.Otp.GetItemLinqQueryable <OtpDocument>() .Where(o => o.UserUuid == user.UserUuid) .ToFeedIterator(); if (iterator.HasMoreResults) { var response = await iterator.ReadNextAsync(); otpDocument = response.FirstOrDefault(); } } catch (CosmosException cosmosException) { if (cosmosException.StatusCode == HttpStatusCode.NotFound) { otpDocument = null; } } return(otpDocument); }
private async Task CreateOtpDocument(UserModel user, DateTime otpGeneratedTime) { var otpDocument = new OtpDocument() { id = $"{Guid.NewGuid():N}", UserUuid = user.UserUuid, UserId = user.GetId(), OtpCreatedTime = otpGeneratedTime }; await _db.Otp.CreateItemAsync(otpDocument, new PartitionKey(user.UserUuid)); }
private async Task CreateOtpDocument(UserModel user, string otp) { var otpDocument = new OtpDocument( id: $"{Guid.NewGuid():N}", userId: user.GetId(), userUuid: user.UserUuid, otpCreatedTime: DateTime.UtcNow, otp: otp ); await _otpRepository.Create(otpDocument); }
public async Task ShouldDeleteOtpDocumentAfterValidation() { OtpDocument deletedDoc = null; _otpRepository .Setup(r => r.Delete(It.IsAny <OtpDocument>())) .Callback((OtpDocument doc) => deletedDoc = doc); var result = await _otpService.ValidateAsync(_defaultRequest); deletedDoc.Should().Be(_defaultOtpDoc); }
public void Setup() { _defaultRequest = CreateRequest(); _defaultOtpDoc = CreateOtpDocument(); (_otpService, _userRepository, _otpRepository, _, _) = MoqMockHelper.Create <OtpService, IUserRepository, IOtpRepository, IOtpGenerator, ISmsSender>(); _userRepository .Setup(r => r.Exists(_defaultRequest.User.GetId())) .Returns(Task.FromResult(true)); _otpRepository .Setup(r => r.GetOtpRequestOfUser(_defaultRequest.User.UserUuid)) .Returns(Task.FromResult(_defaultOtpDoc)); }
public async Task ShouldCreateOtpDocumentOnSuccess() { OtpDocument docAdded = null; _otpRepository.Setup(r => r.Create(It.IsAny <OtpDocument>())) .Callback((OtpDocument doc) => docAdded = doc); var request = CreateRequest(); await _otpService.SendAsync(request); docAdded.Should().NotBeNull(); docAdded.id.Should().NotBeNullOrWhiteSpace(); docAdded.UserUuid.Should().Be(request.User.UserUuid); docAdded.UserId.Should().Be(request.User.GetId()); docAdded.OtpCreatedTime.Should().BeCloseTo(DateTime.UtcNow); }
public Task Delete(OtpDocument otpDocument) { return(_db.Otp.DeleteItemAsync <OtpDocument>(otpDocument.id, new PartitionKey(otpDocument.UserUuid))); }
public Task Create(OtpDocument otpDocument) { return(_db.Otp.CreateItemAsync(otpDocument, new PartitionKey(otpDocument.UserUuid))); }