diff --git a/emmental/sidebar/playlist.py b/emmental/sidebar/playlist.py index 0a4dead..71c3d03 100644 --- a/emmental/sidebar/playlist.py +++ b/emmental/sidebar/playlist.py @@ -59,6 +59,7 @@ class Section(section.Section): def __add_new_playlist(self, entry: Gtk.Entry) -> None: if self.table.create(entry.get_text()) is not None: + self.table.sql.commit() self.extra_widget.popdown() def __entry_changed(self, entry: Gtk.Entry) -> None: diff --git a/tests/sidebar/test_playlist.py b/tests/sidebar/test_playlist.py index 4813ffe..7427cec 100644 --- a/tests/sidebar/test_playlist.py +++ b/tests/sidebar/test_playlist.py @@ -68,23 +68,28 @@ class TestPlaylists(tests.util.TestCase): with unittest.mock.patch.object(self.playlists.extra_widget, "popdown") as mock_popdown: - self.playlists._entry.emit("activate") - self.assertEqual(len(self.sql.playlists), 0) - mock_popdown.assert_not_called() + with unittest.mock.patch.object(self.sql, "commit") as mock_commit: + self.playlists._entry.emit("activate") + self.assertEqual(len(self.sql.playlists), 0) + mock_popdown.assert_not_called() + mock_commit.assert_not_called() - self.playlists._entry.set_text("Test 1") - self.playlists._entry.emit("activate") - self.assertEqual(len(self.sql.playlists), 1) - self.assertEqual(self.sql.playlists.get_item(0).name, "Test 1") - mock_popdown.assert_called() + self.playlists._entry.set_text("Test 1") + self.playlists._entry.emit("activate") + self.assertEqual(len(self.sql.playlists), 1) + self.assertEqual(self.sql.playlists.get_item(0).name, "Test 1") + mock_popdown.assert_called() + mock_commit.assert_called() - mock_popdown.reset_mock() - self.playlists._entry.set_text("Test 2") - self.playlists._entry.emit("icon-release", - Gtk.EntryIconPosition.PRIMARY) - self.assertEqual(len(self.sql.playlists), 2) - self.assertEqual(self.sql.playlists.get_item(1).name, "Test 2") - mock_popdown.assert_called() + mock_popdown.reset_mock() + mock_commit.reset_mock() + self.playlists._entry.set_text("Test 2") + self.playlists._entry.emit("icon-release", + Gtk.EntryIconPosition.PRIMARY) + self.assertEqual(len(self.sql.playlists), 2) + self.assertEqual(self.sql.playlists.get_item(1).name, "Test 2") + mock_popdown.assert_called() + mock_commit.assert_called() self.playlists._entry.set_text("Test 3") self.assertEqual(self.playlists._entry.get_icon_name(