37 lines
		
	
	
		
			1004 B
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1004 B
		
	
	
	
		
			Python
		
	
	
	
from django.urls import reverse
 | 
						|
 | 
						|
from funkwhale_api.history import models
 | 
						|
 | 
						|
 | 
						|
def test_can_create_listening(factories):
 | 
						|
    track = factories["music.Track"]()
 | 
						|
    user = factories["users.User"]()
 | 
						|
    models.Listening.objects.create(user=user, track=track)
 | 
						|
 | 
						|
 | 
						|
def test_logged_in_user_can_create_listening_via_api(
 | 
						|
    logged_in_client, factories, activity_muted
 | 
						|
):
 | 
						|
    track = factories["music.Track"]()
 | 
						|
 | 
						|
    url = reverse("api:v1:history:listenings-list")
 | 
						|
    logged_in_client.post(url, {"track": track.pk})
 | 
						|
 | 
						|
    listening = models.Listening.objects.latest("id")
 | 
						|
 | 
						|
    assert listening.track == track
 | 
						|
    assert listening.user == logged_in_client.user
 | 
						|
 | 
						|
 | 
						|
def test_adding_listening_calls_activity_record(
 | 
						|
    factories, logged_in_client, activity_muted
 | 
						|
):
 | 
						|
    track = factories["music.Track"]()
 | 
						|
 | 
						|
    url = reverse("api:v1:history:listenings-list")
 | 
						|
    logged_in_client.post(url, {"track": track.pk})
 | 
						|
 | 
						|
    listening = models.Listening.objects.latest("id")
 | 
						|
 | 
						|
    activity_muted.assert_called_once_with(listening)
 |