33 lines
1.0 KiB
Python
33 lines
1.0 KiB
Python
import pytest
|
|
|
|
from django.urls import reverse
|
|
|
|
from funkwhale_api import plugins
|
|
|
|
|
|
@pytest.mark.parametrize("level", ["instance", "me", "followers"])
|
|
def test_privacy_filter(preferences, level, factories, api_client):
|
|
preferences["common__api_authentication_required"] = False
|
|
factories["history.Listening"](user__privacy_level=level)
|
|
url = reverse("api:v1:history:listenings-list")
|
|
response = api_client.get(url)
|
|
assert response.status_code == 200
|
|
assert response.data["count"] == 0
|
|
|
|
|
|
def test_now(factories, logged_in_api_client, plugins_conf, mocker):
|
|
track = factories["music.Track"]()
|
|
url = reverse("api:v1:history:listenings-now")
|
|
on_commit = mocker.patch("funkwhale_api.common.utils.on_commit")
|
|
response = logged_in_api_client.post(url, {"track": track.pk})
|
|
|
|
on_commit.assert_called_once_with(
|
|
plugins.hooks.dispatch,
|
|
"history.listening.now",
|
|
track=track,
|
|
user=logged_in_api_client.user,
|
|
plugins_conf=plugins_conf,
|
|
)
|
|
|
|
assert response.status_code == 204
|