コード例 #1
0
        public async Task ValidateVerificationCode_ShouldReturn_ErrorMessage_If_Phone_Country_Verification_Are_Invalid()
        {
            // Arrange
            var _user = await UserBuilder.Builder()
                        .WithPhoneNumber("9876543210", "91")
                        .BuildAsync();

            var mockMessageHandler = new Mock <HttpMessageHandler>();

            var userRepositoryMock = new Mock <IUserRepository>();

            userRepositoryMock.Setup(x => x.GetUserByPhoneNumber(It.IsAny <string>())).Returns(Task.FromResult(Result.Ok <User>(_user)));

            var iCredentials = Options.Create <TwilioNetworkCredentials>(TestCredentials);

            mockMessageHandler.Protected()
            .Setup <Task <HttpResponseMessage> >("SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>())
            .Returns(Task.FromResult(new HttpResponseMessage
            {
                StatusCode = HttpStatusCode.BadRequest,
                Content    = new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(new TwilioErrorResponse()
                {
                    errors = new Errors()
                    {
                        message = Constants.PhoneVerifyMessages.Country_Phone_VerifyCode_Invalid
                    }
                }))
            }));
            var service = new TwilioVerificationService(new HttpClient(mockMessageHandler.Object), iCredentials, userRepositoryMock.Object);

            // Act
            var result = await service.ValidateVerificationCodeAsync("dfgsd", "fdgsdfg", 8484);

            // Assert
            result.IsSuccessed.Should().BeFalse();
            result.GetErrorString().Should().Be(Constants.PhoneVerifyMessages.Country_Phone_VerifyCode_Invalid);
        }
コード例 #2
0
        public async Task GenerateVerificationCode_ShouldReturn_ErrorMessage_If_Country_Code_Is_Invalid()
        {
            // Arrange
            var mockMessageHandler = new Mock <HttpMessageHandler>();
            var expectedOutput     = await UserBuilder.Builder()
                                     .WithPhoneNumber(TEST_NUMBER, TEST_COUNTRY_CODE)
                                     .BuildAsync();

            var userRepositoryMock = new Mock <IUserRepository>();

            userRepositoryMock.Setup(x => x.GetUserByPhoneNumber(It.IsAny <string>())).Returns(Task.FromResult(Result.Ok <User>(expectedOutput)));
            var iCredentials = Options.Create <TwilioNetworkCredentials>(TestCredentials);

            mockMessageHandler.Protected()
            .Setup <Task <HttpResponseMessage> >("SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>())
            .Returns(Task.FromResult(new HttpResponseMessage
            {
                StatusCode = HttpStatusCode.BadRequest,
                Content    = new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(new TwilioErrorResponse()
                {
                    errors = new Errors()
                    {
                        message = "test"
                    }
                }))
            }));

            var service = new TwilioVerificationService(new HttpClient(mockMessageHandler.Object), iCredentials, userRepositoryMock.Object);

            // Act
            var result = await service.GenerateVerificationCodeAsync("eg", TEST_NUMBER);

            // Assert
            result.IsSuccessed.Should().BeFalse();
            result.GetErrorString().Should().Be("test");
        }