public void TestQueryOfficesOfInterviewerAsync_ServerReturnsQuery_ReturnsListWithFieldworkOffices()
{
const string interviewerId = "interviewerId";
var expectedFieldworkOffices = new[]
{
"Amsterdam",
"Barcelona",
"Headquarters"
};
var mockedNfieldConnection = new Mock<INfieldConnectionClient>();
var mockedHttpClient = CreateHttpClientMock(mockedNfieldConnection);
mockedHttpClient
.Setup(client => client.GetAsync(
string.Format(CultureInfo.InvariantCulture, "{0}interviewers/{1}/Offices", ServiceAddress,
interviewerId))
)
.Returns(CreateTask(HttpStatusCode.OK,
new StringContent(JsonConvert.SerializeObject(expectedFieldworkOffices))));
var target = new NfieldInterviewersService();
target.InitializeNfieldConnection(mockedNfieldConnection.Object);
var actualFieldworkOffices = target.QueryOfficesOfInterviewerAsync(interviewerId).Result;
var fieldworkOffices = actualFieldworkOffices as string[] ?? actualFieldworkOffices.ToArray();
Assert.Equal(expectedFieldworkOffices[0], fieldworkOffices[0]);
Assert.Equal(expectedFieldworkOffices[1], fieldworkOffices[1]);
Assert.Equal(expectedFieldworkOffices[2], fieldworkOffices[2]);
Assert.Equal(3, fieldworkOffices.Count());
}