internal Mock<INfieldHttpClient> CreateHttpClientMock(Mock<INfieldConnectionClient> mockedNfieldConnection)
{
var mockedHttpClient = new Mock<INfieldHttpClient>();
mockedNfieldConnection.SetupGet(connection => connection.Client).Returns(mockedHttpClient.Object);
mockedNfieldConnection.SetupGet(connection => connection.NfieldServerUri).Returns(new Uri(ServiceAddress));
//setup the mocked HttpClient to return httpStatusCode for all methods that send a request to the server
mockedHttpClient
.Setup(client => client.PostAsJsonAsync(It.IsAny<string>(), It.IsAny<object>()))
.Returns(CreateTask(HttpStatusCode.BadRequest));
mockedHttpClient
.Setup(client => client.PostAsync(It.IsAny<string>(), It.IsAny<HttpContent>()))
.Returns(CreateTask(HttpStatusCode.BadRequest));
mockedHttpClient
.Setup(client => client.PutAsJsonAsync(It.IsAny<string>(), It.IsAny<object>()))
.Returns(NfieldTaskHelpers.FromResult(new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent("") }));
mockedHttpClient
.Setup(client => client.SendAsync(It.IsAny<HttpRequestMessage>()))
.Returns(CreateTask(HttpStatusCode.BadRequest));
mockedHttpClient
.Setup(client => client.GetAsync(It.IsAny<string>()))
.Returns(CreateTask(HttpStatusCode.BadRequest));
mockedHttpClient
.Setup(client => client.PatchAsJsonAsync(It.IsAny<string>(), It.IsAny<object>()))
.Returns(NfieldTaskHelpers.FromResult(new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent("") }));
return mockedHttpClient;
}