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); }
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"); }