public void TestCreateUserMixesRequest() { string userSlug = "MrJohnDoe"; string expectedUri = String.Format("http://8tracks.com/users/{0}/mixes.xml?api_key={1}&user_token={2}&view=liked", userSlug, apiKeyValue, userToken); string expectedNextPageUri = expectedUri + "&per_page=" + requestFactory.PageSize + "&page=" + (pageNumber + 1); string defaultPagination = String.Format("&per_page={0}&page={1}", requestFactory.PageSize, pageNumber); MixesViewType viewType = MixesViewType.Liked; browsingAvailableMixes .WithScenario("creating a request for obtaining latest liked mixes of an user").Tag(httpWebRequestsTag).Tag(infrastructureTag) .Given(ApiKeyIs_, apiKeyValue) .And(TheUserTokenIs_, userToken) .And(TheUserIdentifierIs_, userSlug) .And(TheViewTypeIs_, viewType) .When(TheApplicationIssuesACommandToCreateAUser_MixesRequestForUser_, viewType, userSlug) .Then(The_RequestShouldBeProperlyCreated, "GET") .And(TheUriShouldBe_, expectedUri + defaultPagination) .WithScenario("creating a request for obtaining second set of mixes").Tag(httpWebRequestsTag).Tag(infrastructureTag) .Given(ApiKeyIs_, apiKeyValue) .And(TheUserTokenIs_, userToken) .And(TheViewTypeIs_, viewType) .And(TheUserIdentifierIs_, userSlug) .And(ThePageNumerIs_With_MixesPerPage, pageNumber, requestFactory.PageSize) .When(TheApplicationIssuesACommandToCreateMoreMixesRequest) .Then(The_RequestShouldBeProperlyCreated, "GET") .And(TheUriShouldBe_, expectedNextPageUri) .ExecuteWithReport(); }
private void TheRequestQueriesFor_Mixes(MixesViewType viewType) { IRequest lastRequest = requestExecutor.Requests[requestExecutor.Requests.Count - 1]; Assert.That(lastRequest, Is.TypeOf(typeof(MixesRequest))); Assert.That(((MixesRequest)lastRequest).ViewType, Is.EqualTo(viewType)); }
private List <Mix> GetMixes(MixFilter mixFilter, MixesViewType viewType, int pageNumber, string userSlug) { MixesRequest mixesRequest = requestFactory.CreateMixesRequest(mixFilter, viewType, pageNumber, userSlug); MixesResponse mixesResponse = requestExecutor.ExecuteMixesRequest(mixesRequest); sessionData.Update(mixesRequest, mixesResponse); return(ExtractMixes(mixesResponse)); }
public void ResetFields() { request = null; origSched = RxApp.DeferredScheduler; RxApp.DeferredScheduler = new TestScheduler(); mixFilter = new MixFilter(); requestFactory = new RequestFactory(apiKey: apiKeyValue); mixId = 500; mixSetId = 150000; playToken = "1234509876"; userToken = "abcdefg"; viewType = MixesViewType.Feed; pageNumber = 1; requestFactory.PageSize = 20; }
public MixesRequest(string host, string apiKey, string userToken, MixesViewType view, string userSlug, int pageNumber, int pageSize, MixFilter mixFilter) : base(host, apiKey, pageNumber, pageSize) { this.userToken = userToken; this.viewType = view; this.userSlug = userSlug; this.mixFilter = mixFilter; if (view == MixesViewType.Feed || view == MixesViewType.Liked) { Url = String.Format("{0}users/{1}/mixes.xml?api_key={2}&user_token={3}&view={4}", BaseUri, userSlug, ApiKey, userToken, view.ToString().ToLower()); } else if (view == MixesViewType.Listened || view == MixesViewType.Recommended) { Url = String.Format("{0}mix_sets/{1}.xml?include=mixes&api_key={2}&user_token={3}", BaseUri, view.ToString().ToLower(), ApiKey, userToken); } else { Url = String.Format("{0}mixes.xml?api_key={1}&sort={2}", BaseUri, ApiKey, view.ToString().ToLower()); if (userToken.Length > 0) { Url += "&user_token=" + userToken; } } Url += "&per_page=" + pageSize; Url += "&page=" + pageNumber; if (mixFilter.Tags.Count > 0) { string tags = StringUtils.TagListToString(mixFilter.Tags, "%2B"); Url += "&tags=" + tags; } if (mixFilter.Query.Length > 0) { Url += "&q=" + mixFilter.Query; } }
private void TheApplicationIssuesACommandToCreateAUser_MixesRequestForUser_(MixesViewType viewType, string userSlug) { request = requestFactory.CreateMixesRequest(mixFilter, viewType, pageNumber, userSlug); }
private void TheViewTypeIs_(MixesViewType viewType) { this.viewType = viewType; }
private void TheRequestQueriesForPage_Of_Mixes(int pageNumber, MixesViewType viewType) { Assert.That(((MixesRequest)requestExecutor.Requests[2]).PageNumber, Is.EqualTo(pageNumber)); Assert.That(((MixesRequest)requestExecutor.Requests[2]).ViewType, Is.EqualTo(viewType)); }
private List <Mix> GetMixes(MixFilter mixFilter, MixesViewType viewType, int pageNumber) { return(GetMixes(mixFilter, viewType, pageNumber, String.Empty)); }
public MixesRequest CreateMixesRequest(MixFilter mixFilter, MixesViewType view, int pageNumber) { return(new MixesRequest(baseUri, apiKey, userToken, view, String.Empty, pageNumber, pageSize, mixFilter)); }