public void should_parse_followed_artist()
        {
            var followed = new FollowedArtists
            {
                Artists = new CursorPaging <FullArtist>
                {
                    Items = new List <FullArtist>
                    {
                        new FullArtist
                        {
                            Name = "artist"
                        }
                    }
                }
            };

            Mocker.GetMock <ISpotifyProxy>().
            Setup(x => x.GetFollowedArtists(It.IsAny <SpotifyFollowedArtists>(),
                                            It.IsAny <SpotifyWebAPI>()))
            .Returns(followed);

            var result = Subject.Fetch(_api);

            result.Should().HaveCount(1);
        }
        public void should_skip_bad_artist_names(string name)
        {
            var followed = new FollowedArtists
            {
                Artists = new CursorPaging <FullArtist>
                {
                    Items = new List <FullArtist>
                    {
                        new FullArtist
                        {
                            Name = name
                        }
                    }
                }
            };

            Mocker.GetMock <ISpotifyProxy>().
            Setup(x => x.GetFollowedArtists(It.IsAny <SpotifyFollowedArtists>(),
                                            It.IsAny <SpotifyWebAPI>()))
            .Returns(followed);

            var result = Subject.Fetch(_api);

            result.Should().BeEmpty();
        }
        public void should_not_throw_if_get_next_page_returns_null()
        {
            var followed = new FollowedArtists {
                Artists = new CursorPaging <FullArtist> {
                    Items = new List <FullArtist> {
                        new FullArtist {
                            Name = "artist"
                        }
                    },
                    Next = "DummyToMakeHasNextTrue"
                }
            };

            Mocker.GetMock <ISpotifyProxy>().
            Setup(x => x.GetFollowedArtists(It.IsAny <SpotifyFollowedArtists>(),
                                            It.IsAny <SpotifyWebAPI>()))
            .Returns(followed);

            Mocker.GetMock <ISpotifyProxy>()
            .Setup(x => x.GetNextPage(It.IsAny <SpotifyFollowedArtists>(),
                                      It.IsAny <SpotifyWebAPI>(),
                                      It.IsAny <CursorPaging <FullArtist> >()))
            .Returns(default(CursorPaging <FullArtist>));

            var result = Subject.Fetch(api);

            result.Should().HaveCount(1);

            Mocker.GetMock <ISpotifyProxy>()
            .Verify(v => v.GetNextPage(It.IsAny <SpotifyFollowedArtists>(),
                                       It.IsAny <SpotifyWebAPI>(),
                                       It.IsAny <CursorPaging <FullArtist> >()),
                    Times.Once());
        }
Exemplo n.º 4
0
    public IEnumerator LoadUsersFollowedArtists()
    {
        yield return(new WaitForSeconds(2));

        FollowedArtists followedArtists = spotifyManagerScript.GetUsersFollowedArtists();

        if (followedArtists == null || followedArtists.Artists.Items.Count == 0)
        {
            Debug.LogError("followedArtists is null/empty");
        }
        else
        {
            for (int i = 0; i < meshRenderers.Length; i++)
            {
                string followedArtistsImageURL = null;

                if (followedArtists.Artists.Items[i].Images.Count > 0)
                {
                    followedArtistsImageURL = followedArtists.Artists.Items[i].Images[0].Url;
                }

                GameObject meshRendererGameObject = meshRenderers[i].transform.gameObject;

                PlaylistScript playlistScript = meshRendererGameObject.GetComponent <PlaylistScript>();

                WWW imageURLWWW = null;

                if (followedArtistsImageURL != null)
                {
                    imageURLWWW = new WWW(followedArtistsImageURL);

                    yield return(imageURLWWW);

                    meshRenderers[i].material.mainTexture = imageURLWWW.texture;
                }

                playlistScript.setPlaylistName(followedArtists.Artists.Items[i].Name);
                playlistScript.setPlaylistURI(followedArtists.Artists.Items[i].Uri);
                playlistScript.fullArtist = followedArtists.Artists.Items[i];
                SeveralTracks artistTopTracks = spotifyManagerScript.GetArtistsTopTracks(followedArtists.Artists.Items[i].Id);
                playlistScript.audioAnalysisCustom = new AudioAnalysisCustom(spotifyManagerScript.GetAudioAnalysis(artistTopTracks.Tracks[0].Id));

                if (imageURLWWW != null)
                {
                    playlistScript.sprite = ConvertWWWToSprite(imageURLWWW);
                    saveLoad.SaveTextureToFilePNG(Converter.ConvertWWWToTexture(imageURLWWW), "userFollowedArtist" + i + ".png");
                }

                playlistScript.artistId = followedArtists.Artists.Items[i].Id;
                saveLoad.savedUserFollowedArtists.Add(new PlaylistScriptData(playlistScript));
            }
        }
    }
Exemplo n.º 5
0
    public IEnumerator Test_Spotify_GetUsersFollowedArtists()
    {
        Spotify spotify = new Spotify();

        spotify.TestSetup();

        FollowedArtists followedArtists = spotify.GetUsersFollowedArtists();

        yield return(null);

        Debug.Log(followedArtists.Artists.Items[0].Name);

        Assert.IsFalse(followedArtists.HasError());
    }
        public void should_not_throw_if_followed_artists_is_null()
        {
            var followed = new FollowedArtists {
                Artists = null
            };

            Mocker.GetMock <ISpotifyProxy>().
            Setup(x => x.GetFollowedArtists(It.IsAny <SpotifyFollowedArtists>(),
                                            It.IsAny <SpotifyWebAPI>()))
            .Returns(followed);

            var result = Subject.Fetch(api);

            result.Should().BeEmpty();
        }
Exemplo n.º 7
0
        public void CheckAction(Account user, DateTime lastCheck)
        {
            var              api             = _spotifyService.GetSpotifyWebApi(_spotifyService.GetSpotifyToken(user));
            FollowedArtists  followedArtists = _spotifyService.GetFollowedArtists(api);
            NewAlbumReleases releases        = _spotifyService.GetNewReleases(api);

            for (int i = 0; i < followedArtists.Artists.Items.Count; i++)
            {
                for (int j = 0; j < releases.Albums.Items.Count; j++)
                {
                    for (int k = 0; k < releases.Albums.Items[j].Artists.Count; k++)
                    {
                        if (followedArtists.Artists.Items[i].Id == releases.Albums.Items[j].Artists[k].Id &&
                            lastCheck < _spotifyService.GetDateFromString(releases.Albums.Items[j].ReleaseDate, releases.Albums.Items[j].ReleaseDatePrecision))
                        {
                            _newReleases.Add(releases.Albums.Items[j]);
                        }
                    }
                }
            }
        }
        public void should_not_throw_if_artist_is_null()
        {
            var followed = new FollowedArtists
            {
                Artists = new CursorPaging <FullArtist>
                {
                    Items = new List <FullArtist>
                    {
                        null
                    }
                }
            };

            Mocker.GetMock <ISpotifyProxy>().
            Setup(x => x.GetFollowedArtists(It.IsAny <SpotifyFollowedArtists>(),
                                            It.IsAny <SpotifyWebAPI>()))
            .Returns(followed);

            var result = Subject.Fetch(_api);

            result.Should().BeEmpty();
            Subject.Fetch(_api);
        }
Exemplo n.º 9
0
 public FollowedArtists GetNextPage <TSettings>(SpotifyImportListBase <TSettings> list, SpotifyWebAPI api, FollowedArtists item)
     where TSettings : SpotifySettingsBase <TSettings>, new()
 {
     return(Execute(list, api, (x) => x.GetNextPage <FollowedArtists, FullArtist>(item.Artists)));
 }