test_ui tests pass
This commit is contained in:
parent
11400536b5
commit
324dd770df
259
tests/test_ui.py
259
tests/test_ui.py
@ -15,7 +15,7 @@ from app.models import (
|
|||||||
Playlists,
|
Playlists,
|
||||||
Tracks,
|
Tracks,
|
||||||
)
|
)
|
||||||
from app import musicmuster
|
from app import ds, musicmuster
|
||||||
|
|
||||||
|
|
||||||
# Custom fixture to adapt qtbot for use with unittest.TestCase
|
# Custom fixture to adapt qtbot for use with unittest.TestCase
|
||||||
@ -49,8 +49,8 @@ class MyTestCase(unittest.TestCase):
|
|||||||
# self.widget.show()
|
# self.widget.show()
|
||||||
|
|
||||||
# Add two tracks to database
|
# Add two tracks to database
|
||||||
self.tracks = {
|
self.track1 = ds.track_create(
|
||||||
1: {
|
{
|
||||||
"path": "testdata/isa.mp3",
|
"path": "testdata/isa.mp3",
|
||||||
"title": "I'm so afraid",
|
"title": "I'm so afraid",
|
||||||
"artist": "Fleetwood Mac",
|
"artist": "Fleetwood Mac",
|
||||||
@ -59,8 +59,10 @@ class MyTestCase(unittest.TestCase):
|
|||||||
"start_gap": 60,
|
"start_gap": 60,
|
||||||
"fade_at": 236263,
|
"fade_at": 236263,
|
||||||
"silence_at": 260343,
|
"silence_at": 260343,
|
||||||
},
|
}
|
||||||
2: {
|
)
|
||||||
|
self.track2 = ds.track_create(
|
||||||
|
{
|
||||||
"path": "testdata/mom.mp3",
|
"path": "testdata/mom.mp3",
|
||||||
"title": "Man of Mystery",
|
"title": "Man of Mystery",
|
||||||
"artist": "The Shadows",
|
"artist": "The Shadows",
|
||||||
@ -69,16 +71,8 @@ class MyTestCase(unittest.TestCase):
|
|||||||
"start_gap": 70,
|
"start_gap": 70,
|
||||||
"fade_at": 115000,
|
"fade_at": 115000,
|
||||||
"silence_at": 118000,
|
"silence_at": 118000,
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
)
|
||||||
with db.Session() as session:
|
|
||||||
for track in self.tracks.values():
|
|
||||||
db_track = Tracks(session=session, **track)
|
|
||||||
session.add(db_track)
|
|
||||||
track["id"] = db_track.id
|
|
||||||
|
|
||||||
session.commit()
|
|
||||||
|
|
||||||
def down(self):
|
def down(self):
|
||||||
db.drop_all()
|
db.drop_all()
|
||||||
@ -89,8 +83,7 @@ class MyTestCase(unittest.TestCase):
|
|||||||
|
|
||||||
playlist_name = "test_init playlist"
|
playlist_name = "test_init playlist"
|
||||||
|
|
||||||
with db.Session() as session:
|
playlist = ds.playlist_create(playlist_name, template_id=0)
|
||||||
playlist = Playlists(session, playlist_name, template_id=0)
|
|
||||||
self.widget._open_playlist(playlist, is_template=False)
|
self.widget._open_playlist(playlist, is_template=False)
|
||||||
with self.qtbot.waitExposed(self.widget):
|
with self.qtbot.waitExposed(self.widget):
|
||||||
self.widget.show()
|
self.widget.show()
|
||||||
@ -102,26 +95,21 @@ class MyTestCase(unittest.TestCase):
|
|||||||
note_text = "my note"
|
note_text = "my note"
|
||||||
playlist_name = "test_save_and_restore playlist"
|
playlist_name = "test_save_and_restore playlist"
|
||||||
|
|
||||||
with db.Session() as session:
|
playlist = ds.playlist_create(playlist_name, template_id=0)
|
||||||
playlist = Playlists(session, playlist_name, template_id=0)
|
model = playlistmodel.PlaylistModel(playlist.playlist_id, is_template=False)
|
||||||
model = playlistmodel.PlaylistModel(playlist.id, is_template=False)
|
|
||||||
|
|
||||||
# Add a track with a note
|
# Add a track with a note
|
||||||
model.insert_row(
|
model.insert_row(track_id=self.track1.track_id, note=note_text)
|
||||||
proposed_row_number=0, track_id=self.tracks[1]["id"], note=note_text
|
|
||||||
)
|
|
||||||
|
|
||||||
# We need to commit the session before re-querying
|
|
||||||
session.commit()
|
|
||||||
|
|
||||||
# Retrieve playlist
|
# Retrieve playlist
|
||||||
all_playlists = Playlists.get_all(session)
|
all_playlists = ds.playlists_all()
|
||||||
assert len(all_playlists) == 1
|
assert len(all_playlists) == 1
|
||||||
retrieved_playlist = all_playlists[0]
|
retrieved_playlist = all_playlists[0]
|
||||||
assert len(retrieved_playlist.rows) == 1
|
playlist_rows = ds.playlistrows_by_playlist(retrieved_playlist.playlist_id)
|
||||||
paths = [a.track.path for a in retrieved_playlist.rows]
|
assert len(playlist_rows) == 1
|
||||||
assert self.tracks[1]["path"] in paths
|
paths = [a.track.path for a in playlist_rows]
|
||||||
notes = [a.note for a in retrieved_playlist.rows]
|
assert self.track1.path in paths
|
||||||
|
notes = [a.note for a in playlist_rows]
|
||||||
assert note_text in notes
|
assert note_text in notes
|
||||||
|
|
||||||
@with_updown
|
@with_updown
|
||||||
@ -134,214 +122,3 @@ class MyTestCase(unittest.TestCase):
|
|||||||
|
|
||||||
utilities.check_db()
|
utilities.check_db()
|
||||||
utilities.update_bitrates()
|
utilities.update_bitrates()
|
||||||
|
|
||||||
|
|
||||||
# def test_meta_all_clear(qtbot, session):
|
|
||||||
# # Create playlist
|
|
||||||
# playlist = models.Playlists(session, "my playlist", template_id=0)
|
|
||||||
# playlist_tab = playlists.PlaylistTab(None, session, playlist.id)
|
|
||||||
|
|
||||||
# # Add some tracks
|
|
||||||
# # Need to commit session after each one so that new row is found
|
|
||||||
# # for subsequent inserts
|
|
||||||
# track1_path = "/a/b/c"
|
|
||||||
# track1 = models.Tracks(session, track1_path)
|
|
||||||
# playlist_tab.insert_track(session, track1)
|
|
||||||
# session.commit()
|
|
||||||
# track2_path = "/d/e/f"
|
|
||||||
# track2 = models.Tracks(session, track2_path)
|
|
||||||
# playlist_tab.insert_track(session, track2)
|
|
||||||
# session.commit()
|
|
||||||
# track3_path = "/h/i/j"
|
|
||||||
# track3 = models.Tracks(session, track3_path)
|
|
||||||
# playlist_tab.insert_track(session, track3)
|
|
||||||
# session.commit()
|
|
||||||
|
|
||||||
# assert playlist_tab._get_current_track_row() is None
|
|
||||||
# assert playlist_tab._get_next_track_row() is None
|
|
||||||
# assert playlist_tab._get_notes_rows() == []
|
|
||||||
# assert playlist_tab._get_played_track_rows() == []
|
|
||||||
# assert len(playlist_tab._get_unreadable_track_rows()) == 3
|
|
||||||
|
|
||||||
|
|
||||||
# def test_meta(qtbot, session):
|
|
||||||
# # Create playlist
|
|
||||||
# playlist = playlists.Playlists(session, "my playlist",
|
|
||||||
# template_id=0)
|
|
||||||
# playlist_tab = playlists.PlaylistTab(None, session, playlist.id)
|
|
||||||
|
|
||||||
# # Add some tracks
|
|
||||||
# track1_path = "/a/b/c"
|
|
||||||
# track1 = models.Tracks(session, track1_path)
|
|
||||||
# playlist_tab.insert_track(session, track1)
|
|
||||||
# session.commit()
|
|
||||||
# track2_path = "/d/e/f"
|
|
||||||
# track2 = models.Tracks(session, track2_path)
|
|
||||||
# playlist_tab.insert_track(session, track2)
|
|
||||||
# session.commit()
|
|
||||||
# track3_path = "/h/i/j"
|
|
||||||
# track3 = models.Tracks(session, track3_path)
|
|
||||||
# playlist_tab.insert_track(session, track3)
|
|
||||||
# session.commit()
|
|
||||||
|
|
||||||
# assert len(playlist_tab._get_unreadable_track_rows()) == 3
|
|
||||||
|
|
||||||
# assert playlist_tab._get_played_track_rows() == []
|
|
||||||
# assert playlist_tab._get_current_track_row() is None
|
|
||||||
# assert playlist_tab._get_next_track_row() is None
|
|
||||||
# assert playlist_tab._get_notes_rows() == []
|
|
||||||
|
|
||||||
# playlist_tab._set_played_row(0)
|
|
||||||
# assert playlist_tab._get_played_track_rows() == [0]
|
|
||||||
# assert playlist_tab._get_current_track_row() is None
|
|
||||||
# assert playlist_tab._get_next_track_row() is None
|
|
||||||
# assert playlist_tab._get_notes_rows() == []
|
|
||||||
|
|
||||||
# # Add a note
|
|
||||||
# note_text = "my note"
|
|
||||||
# note_row = 7 # will be added as row 3
|
|
||||||
# note = models.Notes(session, playlist.id, note_row, note_text)
|
|
||||||
# playlist_tab._insert_note(session, note)
|
|
||||||
|
|
||||||
# assert playlist_tab._get_played_track_rows() == [0]
|
|
||||||
# assert playlist_tab._get_current_track_row() is None
|
|
||||||
# assert playlist_tab._get_next_track_row() is None
|
|
||||||
# assert playlist_tab._get_notes_rows() == [3]
|
|
||||||
|
|
||||||
# playlist_tab._set_next_track_row(1)
|
|
||||||
# assert playlist_tab._get_played_track_rows() == [0]
|
|
||||||
# assert playlist_tab._get_current_track_row() is None
|
|
||||||
# assert playlist_tab._get_next_track_row() == 1
|
|
||||||
# assert playlist_tab._get_notes_rows() == [3]
|
|
||||||
|
|
||||||
# playlist_tab._set_current_track_row(2)
|
|
||||||
# assert playlist_tab._get_played_track_rows() == [0]
|
|
||||||
# assert playlist_tab._get_current_track_row() == 2
|
|
||||||
# assert playlist_tab._get_next_track_row() == 1
|
|
||||||
# assert playlist_tab._get_notes_rows() == [3]
|
|
||||||
|
|
||||||
# playlist_tab._clear_played_row_status(0)
|
|
||||||
# assert playlist_tab._get_played_track_rows() == []
|
|
||||||
# assert playlist_tab._get_current_track_row() == 2
|
|
||||||
# assert playlist_tab._get_next_track_row() == 1
|
|
||||||
# assert playlist_tab._get_notes_rows() == [3]
|
|
||||||
|
|
||||||
# playlist_tab._meta_clear_next()
|
|
||||||
# assert playlist_tab._get_played_track_rows() == []
|
|
||||||
# assert playlist_tab._get_current_track_row() == 2
|
|
||||||
# assert playlist_tab._get_next_track_row() is None
|
|
||||||
# assert playlist_tab._get_notes_rows() == [3]
|
|
||||||
|
|
||||||
# playlist_tab._clear_current_track_row()
|
|
||||||
# assert playlist_tab._get_played_track_rows() == []
|
|
||||||
# assert playlist_tab._get_current_track_row() is None
|
|
||||||
# assert playlist_tab._get_next_track_row() is None
|
|
||||||
# assert playlist_tab._get_notes_rows() == [3]
|
|
||||||
|
|
||||||
# # Test clearing again has no effect
|
|
||||||
# playlist_tab._clear_current_track_row()
|
|
||||||
# assert playlist_tab._get_played_track_rows() == []
|
|
||||||
# assert playlist_tab._get_current_track_row() is None
|
|
||||||
# assert playlist_tab._get_next_track_row() is None
|
|
||||||
# assert playlist_tab._get_notes_rows() == [3]
|
|
||||||
|
|
||||||
|
|
||||||
# def test_clear_next(qtbot, session):
|
|
||||||
# # Create playlist
|
|
||||||
# playlist = models.Playlists(session, "my playlist", template_id=0)
|
|
||||||
# playlist_tab = playlists.PlaylistTab(None, session, playlist.id)
|
|
||||||
|
|
||||||
# # Add some tracks
|
|
||||||
# track1_path = "/a/b/c"
|
|
||||||
# track1 = models.Tracks(session, track1_path)
|
|
||||||
# playlist_tab.insert_track(session, track1)
|
|
||||||
# session.commit()
|
|
||||||
# track2_path = "/d/e/f"
|
|
||||||
# track2 = models.Tracks(session, track2_path)
|
|
||||||
# playlist_tab.insert_track(session, track2)
|
|
||||||
# session.commit()
|
|
||||||
|
|
||||||
# playlist_tab._set_next_track_row(1)
|
|
||||||
# assert playlist_tab._get_next_track_row() == 1
|
|
||||||
|
|
||||||
# playlist_tab.clear_next(session)
|
|
||||||
# assert playlist_tab._get_next_track_row() is None
|
|
||||||
|
|
||||||
|
|
||||||
# def test_get_selected_row(qtbot, monkeypatch, session):
|
|
||||||
# monkeypatch.setattr(musicmuster, "Session", session)
|
|
||||||
# monkeypatch.setattr(playlists, "Session", session)
|
|
||||||
|
|
||||||
# # Create playlist and playlist_tab
|
|
||||||
# window = musicmuster.Window()
|
|
||||||
# playlist = models.Playlists(session, "test playlist", template_id=0)
|
|
||||||
# playlist_tab = playlists.PlaylistTab(window, session, playlist.id)
|
|
||||||
|
|
||||||
# # Add some tracks
|
|
||||||
# track1_path = "/a/b/c"
|
|
||||||
# track1 = models.Tracks(session, track1_path)
|
|
||||||
# playlist_tab.insert_track(session, track1)
|
|
||||||
# session.commit()
|
|
||||||
# track2_path = "/d/e/f"
|
|
||||||
# track2 = models.Tracks(session, track2_path)
|
|
||||||
# playlist_tab.insert_track(session, track2)
|
|
||||||
# session.commit()
|
|
||||||
|
|
||||||
# qtbot.addWidget(playlist_tab)
|
|
||||||
# with qtbot.waitExposed(window):
|
|
||||||
# window.show()
|
|
||||||
# row0_item0 = playlist_tab.item(0, 0)
|
|
||||||
# assert row0_item0 is not None
|
|
||||||
# rect = playlist_tab.visualItemRect(row0_item0)
|
|
||||||
# qtbot.mouseClick(playlist_tab.viewport(), Qt.LeftButton, pos=rect.center())
|
|
||||||
# row_number = playlist_tab.get_selected_row()
|
|
||||||
# assert row_number == 0
|
|
||||||
|
|
||||||
|
|
||||||
# def test_set_next(qtbot, monkeypatch, session):
|
|
||||||
# monkeypatch.setattr(musicmuster, "Session", session)
|
|
||||||
# monkeypatch.setattr(playlists, "Session", session)
|
|
||||||
# seed2tracks(session)
|
|
||||||
|
|
||||||
# playlist_name = "test playlist"
|
|
||||||
# # Create testing playlist
|
|
||||||
# window = musicmuster.Window()
|
|
||||||
# playlist = models.Playlists(session, playlist_name, template_id=0)
|
|
||||||
# playlist_tab = playlists.PlaylistTab(window, session, playlist.id)
|
|
||||||
# idx = window.tabPlaylist.addTab(playlist_tab, playlist_name)
|
|
||||||
# window.tabPlaylist.setCurrentIndex(idx)
|
|
||||||
# qtbot.addWidget(playlist_tab)
|
|
||||||
|
|
||||||
# # Add some tracks
|
|
||||||
# track1 = models.Tracks.get_by_filename(session, "isa.mp3")
|
|
||||||
# track1_title = track1.title
|
|
||||||
# assert track1_title
|
|
||||||
|
|
||||||
# playlist_tab.insert_track(session, track1)
|
|
||||||
# session.commit()
|
|
||||||
# track2 = models.Tracks.get_by_filename(session, "mom.mp3")
|
|
||||||
# playlist_tab.insert_track(session, track2)
|
|
||||||
|
|
||||||
# with qtbot.waitExposed(window):
|
|
||||||
# window.show()
|
|
||||||
|
|
||||||
# row0_item2 = playlist_tab.item(0, 2)
|
|
||||||
# assert row0_item2 is not None
|
|
||||||
# rect = playlist_tab.visualItemRect(row0_item2)
|
|
||||||
# qtbot.mouseClick(playlist_tab.viewport(), Qt.LeftButton, pos=rect.center())
|
|
||||||
# selected_title = playlist_tab.get_selected_title()
|
|
||||||
# assert selected_title == track1_title
|
|
||||||
|
|
||||||
# qtbot.keyPress(playlist_tab.viewport(), "N", modifier=Qt.ControlModifier)
|
|
||||||
# qtbot.wait(1000)
|
|
||||||
|
|
||||||
|
|
||||||
# def test_kae(monkeypatch, session):
|
|
||||||
# # monkeypatch.setattr(dbconfig, "Session", session)
|
|
||||||
# monkeypatch.setattr(musicmuster, "Session", session)
|
|
||||||
|
|
||||||
# musicmuster.Window.kae()
|
|
||||||
# # monkeypatch.setattr(musicmuster, "Session", session)
|
|
||||||
# # monkeypatch.setattr(dbconfig, "Session", session)
|
|
||||||
# # monkeypatch.setattr(models, "Session", session)
|
|
||||||
# # monkeypatch.setattr(playlists, "Session", session)
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user