public void GetBodyMeasurementsAsync_Errors() { Func <HttpResponseMessage> responseMessage = Helper.CreateErrorResponse(HttpStatusCode.Unauthorized); Action <HttpRequestMessage, CancellationToken> verification = new Action <HttpRequestMessage, CancellationToken>((message, token) => { Assert.AreEqual(HttpMethod.Get, message.Method); }); FitbitClient fitbitClient = Helper.CreateFitbitClient(responseMessage, verification); Func <Task <BodyMeasurements> > result = () => fitbitClient.GetBodyMeasurementsAsync(new DateTime(2014, 9, 27)); result.ShouldThrow <FitbitRequestException>().Which.ApiErrors.Count.Should().Be(1); }
public async Task GetBodyMeasurementsAsync_Success() { string content = SampleDataHelper.GetContent("GetBodyMeasurements.json"); Func <HttpResponseMessage> responseMessage = new Func <HttpResponseMessage>(() => { return(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(content) }); }); Action <HttpRequestMessage, CancellationToken> verification = new Action <HttpRequestMessage, CancellationToken>((message, token) => { Assert.AreEqual(HttpMethod.Get, message.Method); Assert.AreEqual("https://api.fitbit.com/1/user/-/body/date/2014-09-27.json", message.RequestUri.AbsoluteUri); }); FitbitClient fitbitClient = Helper.CreateFitbitClient(responseMessage, verification); BodyMeasurements response = await fitbitClient.GetBodyMeasurementsAsync(new DateTime(2014, 9, 27)); ValidateBodyMeasurements(response); }