kopia lustrzana https://dev.funkwhale.audio/funkwhale/funkwhale
33 wiersze
1.2 KiB
Python
33 wiersze
1.2 KiB
Python
![]() |
import pytest
|
||
|
|
||
|
from funkwhale_api.favorites import models
|
||
|
|
||
|
|
||
|
@pytest.mark.parametrize(
|
||
|
"privacy_level,expected",
|
||
|
[("me", False), ("instance", True), ("everyone", True)],
|
||
|
)
|
||
|
def test_playable_by_local_actor(privacy_level, expected, factories):
|
||
|
actor = factories["federation.Actor"](local=True)
|
||
|
# default user actor is local
|
||
|
user = factories["users.User"](privacy_level=privacy_level)
|
||
|
user.create_actor()
|
||
|
favorite = factories["favorites.TrackFavorite"](actor=user.actor)
|
||
|
queryset = models.TrackFavorite.objects.all().viewable_by(actor)
|
||
|
match = favorite in list(queryset)
|
||
|
assert match is expected
|
||
|
|
||
|
|
||
|
@pytest.mark.parametrize(
|
||
|
"privacy_level,expected", [("me", False), ("instance", False), ("everyone", True)]
|
||
|
)
|
||
|
def test_not_playable_by_remote_actor(privacy_level, expected, factories):
|
||
|
actor = factories["federation.Actor"]()
|
||
|
# default user actor is local
|
||
|
user = factories["users.User"](privacy_level=privacy_level)
|
||
|
user.create_actor()
|
||
|
favorite = factories["favorites.TrackFavorite"](actor=user.actor)
|
||
|
queryset = models.TrackFavorite.objects.all().viewable_by(actor)
|
||
|
match = favorite in list(queryset)
|
||
|
assert match is expected
|