kopia lustrzana https://dev.funkwhale.audio/funkwhale/funkwhale
69 wiersze
2.0 KiB
Python
69 wiersze
2.0 KiB
Python
from funkwhale_api.moderation import filters
|
|
from funkwhale_api.music import models as music_models
|
|
|
|
|
|
def test_hidden_defaults_to_true(factories, queryset_equal_list, mocker):
|
|
user = factories["users.User"]()
|
|
artist = factories["music.Artist"]()
|
|
hidden_artist = factories["music.Artist"]()
|
|
factories["moderation.UserFilter"](target_artist=hidden_artist, user=user)
|
|
|
|
class FS(filters.HiddenContentFilterSet):
|
|
class Meta:
|
|
hidden_content_fields_mapping = {"target_artist": ["pk"]}
|
|
|
|
filterset = FS(
|
|
data={},
|
|
queryset=music_models.Artist.objects.all(),
|
|
request=mocker.Mock(user=user),
|
|
)
|
|
assert filterset.data["hidden"] is False
|
|
queryset = filterset.filter_hidden_content(
|
|
music_models.Artist.objects.all(), "", False
|
|
)
|
|
|
|
assert queryset == [artist]
|
|
|
|
|
|
def test_hidden_false(factories, queryset_equal_list, mocker):
|
|
user = factories["users.User"]()
|
|
factories["music.Artist"]()
|
|
hidden_artist = factories["music.Artist"]()
|
|
factories["moderation.UserFilter"](target_artist=hidden_artist, user=user)
|
|
|
|
class FS(filters.HiddenContentFilterSet):
|
|
class Meta:
|
|
hidden_content_fields_mapping = {"target_artist": ["pk"]}
|
|
|
|
filterset = FS(
|
|
data={},
|
|
queryset=music_models.Artist.objects.all(),
|
|
request=mocker.Mock(user=user),
|
|
)
|
|
|
|
queryset = filterset.filter_hidden_content(
|
|
music_models.Artist.objects.all(), "", True
|
|
)
|
|
|
|
assert queryset == [hidden_artist]
|
|
|
|
|
|
def test_hidden_anonymous(factories, queryset_equal_list, mocker, anonymous_user):
|
|
artist = factories["music.Artist"]()
|
|
|
|
class FS(filters.HiddenContentFilterSet):
|
|
class Meta:
|
|
hidden_content_fields_mapping = {"target_artist": ["pk"]}
|
|
|
|
filterset = FS(
|
|
data={},
|
|
queryset=music_models.Artist.objects.all(),
|
|
request=mocker.Mock(user=anonymous_user),
|
|
)
|
|
|
|
queryset = filterset.filter_hidden_content(
|
|
music_models.Artist.objects.all(), "", True
|
|
)
|
|
|
|
assert queryset == [artist]
|