public async void GetProduct_ReturnsProduct() { //Arrange var mockLogger = new Mock <ILogger <ProductApi> >(); var mockHttpRequestFactory = new Mock <IHttpRequestFactory>(); mockHttpRequestFactory.Setup(x => x.Get( It.IsAny <string>(), It.IsAny <Dictionary <string, string> >(), It.IsAny <string>() ) ) .ReturnsAsync(new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new JsonContent(new GetProductResponse { Product = new Core.Abstractions.Api.ProductApi.GetProduct.Product { ProductNumber = "ST-1401" } }) }); var baseAddress = "BaseAddress"; var sut = new ProductApi( mockLogger.Object, mockHttpRequestFactory.Object, baseAddress ); //Act var response = await sut.GetProduct(new GetProductRequest()); //Assert mockHttpRequestFactory.Verify(x => x.Get(It.IsAny <string>(), It.IsAny <Dictionary <string, string> >(), It.IsAny <string>())); response.Product.ProductNumber.Should().Be("ST-1401"); }