Exemplo n.º 1
0
        /// <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()");
        }
Exemplo n.º 2
0
        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)));
        }
Exemplo n.º 3
0
 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");
 }
Exemplo n.º 4
0
        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");
        }
Exemplo n.º 5
0
        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");
            }
        }
Exemplo n.º 6
0
        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");
            }
        }
Exemplo n.º 7
0
        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)));
        }
Exemplo n.º 8
0
        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");
        }