private async void ReturnSuccessResponse() { var sessionId = TestBuilder.Faker().Random.Hash(); const string otpToken = "123456"; var systemName = TestBuilder.Faker().Random.Word(); var phoneNumber = TestBuilder.Faker().Phone.PhoneNumber(); var testOtpResponse = new Response(ResponseType.Success, "Otp Created"); var otpCreationDetail = new OtpGenerationDetail(systemName, Action.FORGOT_PIN.ToString()); var otpRequest = new OtpGenerationRequest(sessionId, new Communication("MOBILE" , phoneNumber), otpCreationDetail); var generatedMessage = otpSender.GenerateMessage(otpCreationDetail, otpToken); otpGenerator.Setup(e => e.GenerateOtp()).Returns(otpToken); otpWebHandler.Setup(e => e.Send(otpRequest.Communication.Value, generatedMessage, otpRequest.GenerationDetail.GetTemplateID())) .ReturnsAsync(testOtpResponse); otpRepository.Setup(e => e.Save(otpToken, sessionId)) .ReturnsAsync(testOtpResponse); var otpResponse = await otpSender.GenerateOtp(otpRequest); otpGenerator.Verify(); otpWebHandler.Verify(); otpRepository.Verify(); otpResponse.Should().BeEquivalentTo(testOtpResponse); }
public Session(string sessionId, Communication communication, OtpGenerationDetail generationDetail) { SessionId = sessionId; Communication = communication; GenerationDetail = generationDetail; }