public void EnsureGetTopArtistsForGenreThrowsExceptionForNullGenre() { Genre nullGenre = null; IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.top_artists_genre)); client.GetTopArtistsForGenreAsync(nullGenre).Wait(); }
public async Task EnsureGetTopArtistsForGenreReturnsErrorForFailedCall() { IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(FakeResponse.NotFound())); ListResponse <Artist> result = await client.GetTopArtistsForGenreAsync("rock"); 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-200 response"); Assert.IsNull(result.Result, "Expected no results"); Assert.IsNotNull(result.Error, "Expected an error"); Assert.AreEqual(typeof(ApiCallFailedException), result.Error.GetType(), "Expected an ApiCallFailedException"); }
public async Task EnsureGetTopArtistsForGenreReturnsArtists() { IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.top_artists_genre)); ListResponse <Artist> result = await client.GetTopArtistsForGenreAsync("rock"); 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"); }
/// <summary> /// Retrieves top artists of a selected genre from MixRadio API. /// </summary> /// <param name="id">Id of the genre.</param> public async void GetTopArtistsForGenre(string id) { if (!initialized) { return; } ShowProgressIndicator("GetTopArtistsForGenre()"); ListResponse <Artist> response = await client.GetTopArtistsForGenreAsync(id); if (response != null && response.Result != null && response.Result.Count > 0) { App.ViewModel.TopArtistsForGenre.Clear(); foreach (Artist a in response.Result) { App.ViewModel.TopArtistsForGenre.Add(new ArtistModel() { Name = a.Name, Country = CountryCodes.CountryNameFromTwoLetter(a.Country), Genres = a.Genres[0].Name, Thumb100Uri = a.Thumb100Uri, Thumb200Uri = a.Thumb200Uri, Thumb320Uri = a.Thumb320Uri, Id = a.Id, ItemWidth = "205", ItemHeight = "205" }); } } if (response != null && response.Error != null) { ShowMixRadioApiError(); } HideProgressIndicator("GetTopArtistsForGenre()"); }
public async void EnsureAsyncGetTopArtistsForGenreReturnsItems() { // Only test happy path, as the MusicClient tests cover the unhappy path IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.top_artists_genre)); ListResponse<Artist> result = await client.GetTopArtistsForGenreAsync("test"); Assert.Greater(result.Result.Count, 0, "Expected more than 0 results"); result = await client.GetTopArtistsForGenreAsync(new Genre() { Id = "test" }); Assert.Greater(result.Result.Count, 0, "Expected more than 0 results"); }
public void EnsureGetTopArtistsForGenreAsyncThrowsExceptionForNullGenre() { Genre nullGenre = null; IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.top_artists_genre)); client.GetTopArtistsForGenreAsync(nullGenre); }
public async Task EnsureGetTopArtistsForGenreThrowsExceptionForNullGenreId() { string nullId = null; IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.top_artists_genre)); await client.GetTopArtistsForGenreAsync(nullId); }
public async Task EnsureGetTopArtistsForGenreReturnsErrorForFailedCall() { IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(FakeResponse.NotFound())); ListResponse<Artist> result = await client.GetTopArtistsForGenreAsync("rock"); 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-200 response"); Assert.IsNull(result.Result, "Expected no results"); Assert.IsNotNull(result.Error, "Expected an error"); Assert.AreEqual(typeof(ApiCallFailedException), result.Error.GetType(), "Expected an ApiCallFailedException"); }
public async Task EnsureGetTopArtistsForGenreReturnsArtists() { IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.top_artists_genre)); ListResponse<Artist> result = await client.GetTopArtistsForGenreAsync("rock"); 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"); }