/// <summary> /// Retrieves available mix groups from MixRadio API. /// </summary> public async void GetMixGroups() { if (!initialized) { return; } ShowProgressIndicator("GetMixGroups()"); ListResponse <MixGroup> response = await client.GetMixGroupsAsync(); if (response != null && response.Result != null && response.Result.Count > 0) { App.ViewModel.MixGroups.Clear(); foreach (MixGroup mg in response.Result) { App.ViewModel.MixGroups.Add(new MixGroupModel() { Name = mg.Name, Id = mg.Id }); } } if (response != null && response.Error != null) { ShowMixRadioApiError(); } HideProgressIndicator("GetMixGroups()"); }
public void EnsureExclusiveMixGroupRequestsSendExclusiveTag() { var exclusiveTag = "thisIsTheExclusiveTag"; var handler = new MockApiRequestHandler(Resources.mixgroups); IMusicClient client = new MusicClient("test", "gb", handler); var groupsTask = client.GetMixGroupsAsync(exclusiveTag); Assert.Greater(groupsTask.Result.Result.Count, 0, "Expected more than 0 results"); Assert.IsTrue(handler.LastQueryString.Contains(new KeyValuePair <string, string>(MusicClientCommand.ParamExclusive, exclusiveTag))); }
public async Task EnsureGetMixGroupsReturnsErrorForFailedCall() { IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(FakeResponse.NotFound())); ListResponse<MixGroup> result = await client.GetMixGroupsAsync(); 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 async Task EnsureGetMixGroupsReturnsErrorForFailedCall() { IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(FakeResponse.NotFound())); ListResponse <MixGroup> result = await client.GetMixGroupsAsync(); 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 async Task EnsureGetMixGroupsReturnsItems() { IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.mixgroups)); ListResponse<MixGroup> result = await client.GetMixGroupsAsync(); 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 (MixGroup mixGroup in result.Result) { Assert.IsFalse(string.IsNullOrEmpty(mixGroup.Id), "Expected Id to be populated"); Assert.IsFalse(string.IsNullOrEmpty(mixGroup.Name), "Expected Name to be populated"); } }
public async Task EnsureGetMixGroupsReturnsItems() { IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.mixgroups)); ListResponse <MixGroup> result = await client.GetMixGroupsAsync(); 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 (MixGroup mixGroup in result.Result) { Assert.IsFalse(string.IsNullOrEmpty(mixGroup.Id), "Expected Id to be populated"); Assert.IsFalse(string.IsNullOrEmpty(mixGroup.Name), "Expected Name to be populated"); } }
public void EnsureExclusiveMixGroupRequestsSendExclusiveTag() { var exclusiveTag = "thisIsTheExclusiveTag"; var handler = new MockApiRequestHandler(Resources.mixgroups); IMusicClient client = new MusicClient("test", "gb", handler); var groupsTask = client.GetMixGroupsAsync(exclusiveTag); Assert.Greater(groupsTask.Result.Result.Count, 0, "Expected more than 0 results"); Assert.IsTrue(handler.LastQueryString.Contains(new KeyValuePair<string, string>(MusicClientCommand.ParamExclusive, exclusiveTag))); }
public async void EnsureAsyncGetMixGroupsReturnsItems() { // Only test happy path, as the MusicClient tests cover the unhappy path IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.mixgroups)); ListResponse<MixGroup> result = await client.GetMixGroupsAsync(); Assert.Greater(result.Result.Count, 0, "Expected more than 0 results"); }