Resolve "Per-user libraries" (use !368 instead)

This commit is contained in:
Eliot Berriot 2018-09-06 18:35:02 +00:00
parent b0ca181016
commit 2ea21994ee
144 changed files with 6749 additions and 5347 deletions

View file

@ -42,3 +42,31 @@ def test_django_permissions_to_user_permissions(factories, command):
assert user2.permission_settings is False
assert user2.permission_library is True
assert user2.permission_federation is True
@pytest.mark.skip("Refactoring in progress")
def test_migrate_to_user_libraries(factories, command):
user1 = factories["users.User"](is_superuser=False, with_actor=True)
user2 = factories["users.User"](is_superuser=True, with_actor=True)
factories["users.User"](is_superuser=True)
no_import_files = factories["music.TrackFile"].create_batch(size=5, library=None)
import_jobs = factories["music.ImportJob"].create_batch(
batch__submitted_by=user1, size=5, finished=True
)
# we delete libraries that are created automatically
for j in import_jobs:
j.track_file.library = None
j.track_file.save()
scripts.migrate_to_user_libraries.main(command)
# tracks with import jobs are bound to the importer's library
library = user1.actor.libraries.get(name="default")
assert list(library.files.order_by("id").values_list("id", flat=True)) == sorted(
[ij.track_file.pk for ij in import_jobs]
)
# tracks without import jobs are bound to first superuser
library = user2.actor.libraries.get(name="default")
assert list(library.files.order_by("id").values_list("id", flat=True)) == sorted(
[tf.pk for tf in no_import_files]
)