38 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
| from funkwhale_api.music import serializers, signals
 | |
| 
 | |
| 
 | |
| def test_get_track_activity_url_mbid(factories):
 | |
|     track = factories["music.Track"]()
 | |
|     expected = f"https://musicbrainz.org/recording/{track.mbid}"
 | |
|     assert track.get_activity_url() == expected
 | |
| 
 | |
| 
 | |
| def test_get_track_activity_url_no_mbid(settings, factories):
 | |
|     track = factories["music.Track"](mbid=None)
 | |
|     expected = settings.FUNKWHALE_URL + f"/tracks/{track.pk}"
 | |
|     assert track.get_activity_url() == expected
 | |
| 
 | |
| 
 | |
| def test_upload_import_status_updated_broadcast(factories, mocker):
 | |
|     group_send = mocker.patch("funkwhale_api.common.channels.group_send")
 | |
|     user = factories["users.User"]()
 | |
|     upload = factories["music.Upload"](
 | |
|         import_status="finished", library__actor__user=user
 | |
|     )
 | |
|     signals.upload_import_status_updated.send(
 | |
|         sender=None, upload=upload, old_status="pending", new_status="finished"
 | |
|     )
 | |
|     group_send.assert_called_once_with(
 | |
|         f"user.{user.pk}.imports",
 | |
|         {
 | |
|             "type": "event.send",
 | |
|             "text": "",
 | |
|             "data": {
 | |
|                 "type": "import.status_updated",
 | |
|                 "old_status": "pending",
 | |
|                 "new_status": "finished",
 | |
|                 "upload": serializers.UploadForOwnerSerializer(upload).data,
 | |
|             },
 | |
|         },
 | |
|     )
 |