コード例 #1
0
 public function testBuildTrack()
 {
     $track = (object) ['id' => 'someid', 'name' => 'Someone like you', 'href' => 'http://aoeuaoeu', 'uri' => 'testuri:test'];
     $result = $this->valueObjectBuilder->buildTrack($track, new AlbumSimplified(), [new ArtistSimplified()]);
     $this->assertEquals($track->id, $result->getId(), 'Track id should be set');
     $this->assertEquals($track->name, $result->getName(), 'Track name should be set');
     $this->assertEquals($track->href, $result->getSpotifyHref(), 'Track href should be set');
     $this->assertEquals($track->uri, $result->getSpotifyUri(), 'Track URI should be set');
     $this->assertInstanceOf(AlbumSimplified::class, $result->getAlbum(), 'Album should be set');
     $this->assertInstanceOf(ArtistSimplified::class, $result->getArtists()[0], 'Artist(s) should be set');
 }
コード例 #2
0
ファイル: TrackFinder.php プロジェクト: palmfjord/sr-playlist
 /**
  * Search for a track and build the response objects
  *
  * @param string $string
  *
  * @return Track
  */
 public function findTrack(string $string)
 {
     $result = $this->spotifyWebApi->search($string, 'track');
     if (count($result->tracks->items) === 0) {
         throw NoTracksFoundException::emptyResult();
     }
     $firstItem = $result->tracks->items[0];
     $images = $this->valueObjectBuilder->buildImages($firstItem->album->images);
     $album = $this->valueObjectBuilder->buildAlbumSimplified($firstItem->album, $images);
     $artists = $this->valueObjectBuilder->buildArtistsSimplified($firstItem->artists);
     $track = $this->valueObjectBuilder->buildTrack($firstItem, $album, $artists);
     return $track;
 }