42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
| import pytest
 | |
| from django.urls import reverse
 | |
| 
 | |
| from funkwhale_api.federation import utils as federation_utils
 | |
| 
 | |
| 
 | |
| def test_channel(factories, now):
 | |
|     channel = factories["audio.Channel"]()
 | |
|     assert channel.artist is not None
 | |
|     assert channel.actor is not None
 | |
|     assert channel.attributed_to is not None
 | |
|     assert channel.library is not None
 | |
|     assert channel.creation_date >= now
 | |
| 
 | |
| 
 | |
| def test_channel_get_rss_url_local(factories):
 | |
|     channel = factories["audio.Channel"](artist__local=True)
 | |
|     expected = federation_utils.full_url(
 | |
|         reverse(
 | |
|             "api:v1:channels-rss",
 | |
|             kwargs={"composite": channel.actor.preferred_username},
 | |
|         )
 | |
|     )
 | |
|     assert channel.get_rss_url() == expected
 | |
| 
 | |
| 
 | |
| def test_channel_get_rss_url_remote(factories):
 | |
|     channel = factories["audio.Channel"]()
 | |
|     assert channel.get_rss_url() == channel.rss_url
 | |
| 
 | |
| 
 | |
| def test_channel_delete(factories):
 | |
|     channel = factories["audio.Channel"]()
 | |
|     library = channel.library
 | |
|     actor = channel.library
 | |
|     artist = channel.artist
 | |
|     channel.delete()
 | |
| 
 | |
|     for obj in [library, actor, artist]:
 | |
|         with pytest.raises(obj.DoesNotExist):
 | |
|             obj.refresh_from_db()
 |