Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 public Session(string sessionId, Communication communication, OtpGenerationDetail generationDetail)
 {
     SessionId        = sessionId;
     Communication    = communication;
     GenerationDetail = generationDetail;
 }