public function testRemoveATrackFromThePlaylist() { $playlist = PlaylistBuilder::get()->withName('My playlist')->build(); $playlist->addTrack(Track::create('id', 'My track')); $playlist->removeTrack(Track::create('id', 'My track')); $this->assertCount(0, $playlist->getTracks()); }
public function testPlaylistIsRemovedFromRepository() { $playlists = array(PlaylistBuilder::get()->build(), PlaylistBuilder::get()->build()); $playlist_repository = $this->getMock('Naxhh\\PlayCool\\Domain\\Contract\\PlaylistRepository'); $playlist_repository->expects($this->any())->method('getAll')->will($this->returnValue($playlists)); $command = new GetAllPlaylistsCommand(); $use_case = new GetAllPlaylistsUseCase($playlist_repository); $this->assertCount(2, $use_case->handle($command)); }
public function testPlaylistIsRemovedFromRepository() { $playlist = PlaylistBuilder::get()->withId('Playlist id')->withName('Playlist name')->build(); $playlist_repository = $this->getMock('Naxhh\\PlayCool\\Domain\\Contract\\PlaylistRepository'); $playlist_repository->expects($this->any())->method('get')->will($this->returnValue($playlist)); $command = new GetPlaylistCommand('Playlist id'); $use_case = new GetPlaylistUseCase($playlist_repository); $playlist = $use_case->handle($command); $this->assertSame('Playlist name', $playlist->getName()); }
public function testPlaylistIsSavedInRepository() { $old_playlist = PlaylistBuilder::get()->withId('id')->build(); $playlist_repository = $this->getMock('Naxhh\\PlayCool\\Domain\\Contract\\PlaylistRepository'); $playlist_repository->expects($this->any())->method('get')->will($this->returnValue($old_playlist)); $playlist_repository->expects($this->once())->method('add'); $command = new UpdatePlaylistCommand('id', 'My new playlist name'); $use_case = new UpdatePlaylistUseCase($playlist_repository, new TrackRepository(new \stdClass())); $playlist = $use_case->handle($command); }