"""Unit tests for EpisodeReplicationStatus model.""" from podcast.models import episode_replication_status def test_create_episode_replication_status(episode_replication_status_fixture, mock_current_admin_user): """Test create episode replication record.""" payload = dict( original_podcast_id=1, podcast_id=4, original_episode_id=4, episode_id=5, replication_type='bulk' ) result = episode_replication_status.create_status(payload) assert result['id'] == 9 assert result['status'] == 'initiated' assert result['replication_type'] == 'bulk' assert result['is_viewed'] is False def test_update_episode_replication_status(mock_current_admin_user): """Test update episode replication record.""" payload = {'id': 1, 'status': 'episode-created'} result = episode_replication_status.update_status(payload) assert result['id'] == 1 assert result['status'] == 'episode-created' def test_update_status_by_ids(mock_current_admin_user): """Test update status by ids method.""" result = episode_replication_status.update_status_by_ids([2, 3])['items'] assert result[0]['id'] == 2 assert result[0]['status'] == 'episode-creation-failed' assert result[0]['is_viewed'] is True assert result[1]['id'] == 3 assert result[1]['status'] == 'initiated' assert result[1]['is_viewed'] is True def test_get_failed_bulk_episodes_replication_status(mock_current_admin_user): """Test get failed bulk episodes replication status.""" result = episode_replication_status.get_failed_bulk_episodes_replication_status(4) items = result['items'] assert len(items) == 2 assert items[0]['id'] == 1 assert items[0]['status'] == 'initiated' assert items[0]['replication_type'] == 'bulk' assert items[0]['is_viewed'] is False assert items[1]['id'] == 5 assert items[1]['status'] == 'episode-creation-failed' assert items[1]['replication_type'] == 'bulk' assert items[1]['is_viewed'] is False def test_get_failed_single_episodes_replication_status(mock_current_admin_user): """Test get failed episodes replication status for replication type single.""" result = episode_replication_status.get_failed_single_episodes_replication_status(2) items = result['items'] assert len(items) == 2 assert items[0]['id'] == 2 assert items[0]['status'] == 'episode-creation-failed' assert items[0]['replication_type'] == 'single' assert items[0]['is_viewed'] is False assert items[1]['id'] == 3 assert items[1]['status'] == 'initiated' assert items[1]['replication_type'] == 'single' assert items[1]['is_viewed'] is False