/// <summary> /// Retrieves available genres from Nokia Music API. /// </summary> public void GetGenres() { if (!initialized) { return; } client.GetGenres((ListResponse <Genre> response) => { Deployment.Current.Dispatcher.BeginInvoke(() => { // Use results if (response != null && response.Result != null && response.Result.Count > 0) { int genreCount = response.Count(); App.ViewModel.Genres.Clear(); foreach (Genre g in response.Result) { App.ViewModel.Genres.Add(new GenreModel() { Name = g.Name, Id = g.Id }); } } if (response != null && response.Error != null) { ShowNokiaMusicApiError(); } HideProgressIndicator("GetGenres()"); }); }); ShowProgressIndicator("GetGenres()"); }
public void EnsureGetGenresReturnsErrorForFailedCall() { IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(FakeResponse.InternalServerError())); client.GetGenres( (ListResponse<Genre> result) => { Assert.IsNotNull(result, "Expected a result"); Assert.IsNotNull(result.StatusCode, "Expected a status code"); Assert.IsTrue(result.StatusCode.HasValue, "Expected a status code"); Assert.AreNotEqual(HttpStatusCode.OK, result.StatusCode.Value, "Expected a non-OK response"); Assert.IsNotNull(result.Error, "Expected an error"); Assert.AreEqual(typeof(ApiCallFailedException), result.Error.GetType(), "Expected an ApiCallFailedException"); }); }
public void EnsureGetGenresReturnsItems() { IMusicClient client = new MusicClient("test", "test", "gb", new SuccessfulMockApiRequestHandler()); client.GetGenres( (ListResponse<Genre> result) => { Assert.IsNotNull(result, "Expected a result"); Assert.IsNotNull(result.StatusCode, "Expected a status code"); Assert.IsTrue(result.StatusCode.HasValue, "Expected a status code"); Assert.AreEqual(HttpStatusCode.OK, result.StatusCode.Value, "Expected a 200 response"); Assert.IsNotNull(result.Result, "Expected a list of results"); Assert.IsNull(result.Error, "Expected no error"); Assert.Greater(result.Result.Count, 0, "Expected more than 0 results"); }); }
public void EnsureGetGenresReturnsItems() { IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.genres)); client.GetGenres( (ListResponse<Genre> result) => { Assert.IsNotNull(result, "Expected a result"); Assert.IsNotNull(result.StatusCode, "Expected a status code"); Assert.IsTrue(result.StatusCode.HasValue, "Expected a status code"); Assert.AreEqual(HttpStatusCode.OK, result.StatusCode.Value, "Expected a 200 response"); Assert.IsNotNull(result.Result, "Expected a list of results"); Assert.IsNull(result.Error, "Expected no error"); Assert.Greater(result.Result.Count, 0, "Expected more than 0 results"); foreach (Genre genre in result.Result) { Assert.IsFalse(string.IsNullOrEmpty(genre.Id), "Expected Id to be populated"); Assert.IsFalse(string.IsNullOrEmpty(genre.Name), "Expected Name to be populated"); } }); }
public void EnsureGetGenresThrowsExceptionForNullCallback() { IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.genres)); client.GetGenres(null); }