Dropped hard constraint on track indexes and added more tests

merge-requests/154/head
Eliot Berriot 2018-03-20 19:14:07 +01:00
rodzic 8ff775a126
commit 244ebd7ab1
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: DD6965E2476E5C27
2 zmienionych plików z 25 dodań i 7 usunięć

Wyświetl plik

@ -1,4 +1,4 @@
# Generated by Django 2.0.3 on 2018-03-19 16:42
# Generated by Django 2.0.3 on 2018-03-20 17:13
from django.db import migrations, models
@ -20,4 +20,8 @@ class Migration(migrations.Migration):
name='index',
field=models.PositiveIntegerField(blank=True, null=True),
),
migrations.AlterUniqueTogether(
name='playlisttrack',
unique_together=set(),
),
]

Wyświetl plik

@ -44,12 +44,9 @@ def test_can_insert_at_index(factories):
def test_can_insert_and_move(factories):
playlist = factories['playlists.Playlist']()
first = factories['playlists.PlaylistTrack'](playlist=playlist)
second = factories['playlists.PlaylistTrack'](playlist=playlist)
third = factories['playlists.PlaylistTrack'](playlist=playlist)
playlist.insert(first)
playlist.insert(second)
playlist.insert(third)
first = factories['playlists.PlaylistTrack'](playlist=playlist, index=0)
second = factories['playlists.PlaylistTrack'](playlist=playlist, index=1)
third = factories['playlists.PlaylistTrack'](playlist=playlist, index=2)
playlist.insert(second, index=0)
@ -62,6 +59,23 @@ def test_can_insert_and_move(factories):
assert first.index == 1
def test_can_insert_and_move_last_to_0(factories):
playlist = factories['playlists.Playlist']()
first = factories['playlists.PlaylistTrack'](playlist=playlist, index=0)
second = factories['playlists.PlaylistTrack'](playlist=playlist, index=1)
third = factories['playlists.PlaylistTrack'](playlist=playlist, index=2)
playlist.insert(third, index=0)
first.refresh_from_db()
second.refresh_from_db()
third.refresh_from_db()
assert third.index == 0
assert first.index == 1
assert second.index == 2
def test_cannot_insert_at_wrong_index(factories):
plt = factories['playlists.PlaylistTrack']()
new = factories['playlists.PlaylistTrack'](playlist=plt.playlist)