示例#1
0
        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);
        }
示例#2
0
        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);
        }