private void CompleteOptions(RequestOptions options, GetActivityProfilesRequest request) { options.QueryStringParameters.Add("activityId", request.ActivityId.ToString()); if (request.Since.HasValue) { options.QueryStringParameters.Add("since", request.Since.Value.ToString(Constants.DATETIME_FORMAT)); } }
async Task <List <string> > IActivityProfilesApi.GetMany(GetActivityProfilesRequest request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } request.Validate(); var options = new RequestOptions(ENDPOINT); this.CompleteOptions(options, request); HttpResponseMessage response = await this._client.GetJson(options); return(await response.Content.ReadAsAsync <List <string> >(new[] { new StrictJsonMediaTypeFormatter() })); }
public async Task can_get_many_activity_profiles() { // Arrange var request = new GetActivityProfilesRequest() { ActivityId = new Uri(ACTIVITY_ID), Since = SINCE }; this._mockHttp .When(HttpMethod.Get, this.GetApiUrl("activities/profile")) .WithQueryString("activityId", ACTIVITY_ID) .WithQueryString("since", SINCE.ToString("yyyy-MM-ddTHH:mm:ss.fffZ")) .Respond(HttpStatusCode.OK, "application/json", this.ReadDataFile(Constants.ACTIVITY_PROFILES)); // Act List <string> stateIds = await this._client.ActivityProfiles.GetMany(request); // Assert stateIds.Should().NotBeNullOrEmpty(); }