Example #1
0
        public void WhenValidIP_ExpectValidVisitor()
        {
            // Assemble
            VISITORS expectedVisitor = new VISITORS()
            {
                CITY    = "string",
                COUNTRY = "string",
                IP      = "string",
                ISP     = "string",
                REGION  = "string"
            };

            HttpResponseMessage httpResponse = new HttpResponseMessage();

            httpResponse.Content    = new StringContent(expectedVisitor.ToJson());
            httpResponse.StatusCode = HttpStatusCode.OK;

            var httpHandler = new Mock <DelegatingHandler>();

            httpHandler.Protected()
            .Setup <Task <HttpResponseMessage> >("SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>())
            .ReturnsAsync(httpResponse)
            .Verifiable();
            httpHandler.As <IDisposable>().Setup(s => s.Dispose());

            var httpClient = new HttpClient(httpHandler.Object);

            _httpClientFactory.Setup(cf => cf.CreateClient(It.IsAny <string>())).Returns(httpClient);

            var service = new VisitorService(_configuration, _httpClientFactory.Object, _visitorRepository.Object);

            // Act
            service.HandleVisitor(expectedVisitor);

            // Assert
            // Not useful test - simply does not throws exception
        }