public async void ListProducts_ReturnsProducts() { //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 ListProductsResponse { Products = new List <Core.Abstractions.Api.ProductApi.ListProducts.Product> { new Core.Abstractions.Api.ProductApi.ListProducts.Product { ProductNumber = "ST-1401" }, new Core.Abstractions.Api.ProductApi.ListProducts.Product { ProductNumber = "ST-1402" }, } }) }); var baseAddress = "BaseAddress"; var sut = new ProductApi( mockLogger.Object, mockHttpRequestFactory.Object, baseAddress ); //Act var response = await sut.ListProductsAsync(new ListProductsRequest()); //Assert mockHttpRequestFactory.Verify(x => x.Get(It.IsAny <string>(), It.IsAny <Dictionary <string, string> >(), It.IsAny <string>())); response.Products[0].ProductNumber.Should().Be("ST-1401"); response.Products[1].ProductNumber.Should().Be("ST-1402"); }