"""Tests for episode links handler.""" from unittest.mock import patch from oto import status @patch('podcast.logic.episode_links.get_episode_links') def test_get_episode_links_handler(mock_get_episode_links, fixture_client, episode_links_data_fixture): """Test get episode links handler.""" mock_get_episode_links.return_value = episode_links_data_fixture result = fixture_client.get('/episode-links/podcast/1/episode/1') assert result.status_code == status.OK assert result.json['items'] == [ {'id': 1, 'store_id': 1, 'podcast_id': 1, 'episode_id': 1, 'link': 'first-link'}, {'id': 2, 'store_id': 2, 'podcast_id': 1, 'episode_id': 1, 'link': 'second-link'}, ] @patch('podcast.logic.episode_links.create_episode_link') def test_create_episode_link_handler(mock_create_episode_link, fixture_client): """Test create episode link handler.""" data = { 'podcast_id': 1, 'episode_id': 1, 'store_id': 1, 'link': 'link' } result = fixture_client.post('/episode-link', json=data) assert result.status_code == status.OK @patch('podcast.logic.episode_links.delete_episode_link') def test_delete_episode_link_handler(mock_delete_episode_link, fixture_client): """Test delete episode link handler.""" result = fixture_client.delete('/episode-link/episode/1/store/1') assert result.status_code == status.OK