kopia lustrzana https://dev.funkwhale.audio/funkwhale/funkwhale
51 wiersze
1.3 KiB
Python
51 wiersze
1.3 KiB
Python
import pytest
|
|
|
|
from django.db import connection
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"factory_name,fields",
|
|
[
|
|
("music.Artist", ["name"]),
|
|
("music.Album", ["title"]),
|
|
("music.Track", ["title"]),
|
|
],
|
|
)
|
|
def test_body_text_trigger_creation(factory_name, fields, factories):
|
|
obj = factories[factory_name]()
|
|
obj.refresh_from_db()
|
|
cursor = connection.cursor()
|
|
sql = """
|
|
SELECT to_tsvector('english_nostop', '{indexed_text}')
|
|
""".format(
|
|
indexed_text=" ".join([getattr(obj, f) for f in fields if getattr(obj, f)]),
|
|
)
|
|
cursor.execute(sql)
|
|
|
|
assert cursor.fetchone()[0] == obj.body_text
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"factory_name,fields",
|
|
[
|
|
("music.Artist", ["name"]),
|
|
("music.Album", ["title"]),
|
|
("music.Track", ["title"]),
|
|
],
|
|
)
|
|
def test_body_text_trigger_updaten(factory_name, fields, factories, faker):
|
|
obj = factories[factory_name]()
|
|
for field in fields:
|
|
setattr(obj, field, faker.sentence())
|
|
obj.save()
|
|
obj.refresh_from_db()
|
|
cursor = connection.cursor()
|
|
sql = """
|
|
SELECT to_tsvector('english_nostop', '{indexed_text}')
|
|
""".format(
|
|
indexed_text=" ".join([getattr(obj, f) for f in fields if getattr(obj, f)]),
|
|
)
|
|
cursor.execute(sql)
|
|
|
|
assert cursor.fetchone()[0] == obj.body_text
|