funkwhale/api/tests/tags/test_tasks.py

37 wiersze
1.1 KiB
Python

from funkwhale_api.music import models as music_models
from funkwhale_api.tags import tasks
def test_get_tags_from_foreign_key(factories):
rock_tag = factories["tags.Tag"](name="Rock")
rap_tag = factories["tags.Tag"](name="Rap")
artist = factories["music.Artist"]()
factories["music.Track"].create_batch(3, artist=artist, set_tags=["rock", "rap"])
factories["music.Track"].create_batch(
3, artist=artist, set_tags=["rock", "rap", "techno"]
)
result = tasks.get_tags_from_foreign_key(
ids=[artist.pk],
foreign_key_model=music_models.Track,
foreign_key_attr="artist",
)
assert result == {artist.pk: [rock_tag.pk, rap_tag.pk]}
def test_add_tags_batch(factories):
rock_tag = factories["tags.Tag"](name="Rock")
rap_tag = factories["tags.Tag"](name="Rap")
factories["tags.Tag"]()
artist = factories["music.Artist"]()
data = {artist.pk: [rock_tag.pk, rap_tag.pk]}
tasks.add_tags_batch(
data,
model=artist.__class__,
)
assert artist.get_tags() == ["Rap", "Rock"]