public async Task MovieDb_Return_Success() { //arrange var httpClient = new Mock <IHttpClient>(); var jsonSerializer = new Mock <IJsonSerializer>(); var applicationHost = new Mock <IApplicationHost>(); var responseModel = new MovieInformation() { Id = 123, Imdb_Id = "123", Title = "Test", release_date = DateTime.Now, Original_Title = "Test" }; var responseStream = Utility.GenerateStreamFromString(JsonSerializer.Serialize(responseModel)); jsonSerializer .Setup(_ => _.DeserializeFromStream <It.IsAnyType>(responseStream)) .Returns(() => JsonSerializer.Deserialize(responseStream, typeof(MovieInformation), new JsonSerializerOptions())); httpClient .Setup(_ => _.GetResponse(It.IsAny <HttpRequestOptions>())) .ReturnsAsync(() => new HttpResponseInfo() { ContentLength = 1, ContentType = "application/json", Content = responseStream }); applicationHost .Setup(_ => _.ApplicationVersion) .Returns(() => new Version("1.1.1.1")); var movieDb = new MovieDb(jsonSerializer.Object, httpClient.Object, applicationHost.Object); //act var response = await movieDb.GetMovieInfo("123", CancellationToken.None); //assert response.Should().NotBeNull(); response.Id.Should().Be(123); response.Imdb_Id.Should().Be("123"); }