mirror of
https://github.com/sissbruecker/linkding.git
synced 2025-08-14 05:59:29 +02:00
Update order when deleting bundle (#1114)
This commit is contained in:
@@ -269,6 +269,24 @@ class BundlesApiTestCase(LinkdingApiTestCase, BookmarkFactoryMixin):
|
||||
|
||||
self.assertFalse(BookmarkBundle.objects.filter(id=bundle.id).exists())
|
||||
|
||||
def test_delete_bundle_updates_order(self):
|
||||
self.authenticate()
|
||||
|
||||
bundle1 = self.setup_bundle(name="Bundle 1", order=0)
|
||||
bundle2 = self.setup_bundle(name="Bundle 2", order=1)
|
||||
bundle3 = self.setup_bundle(name="Bundle 3", order=2)
|
||||
|
||||
url = reverse("linkding:bundle-detail", kwargs={"pk": bundle2.id})
|
||||
self.delete(url, expected_status_code=status.HTTP_204_NO_CONTENT)
|
||||
|
||||
self.assertFalse(BookmarkBundle.objects.filter(id=bundle2.id).exists())
|
||||
|
||||
# Check that the remaining bundles have updated orders
|
||||
bundle1.refresh_from_db()
|
||||
bundle3.refresh_from_db()
|
||||
self.assertEqual(bundle1.order, 0)
|
||||
self.assertEqual(bundle3.order, 1)
|
||||
|
||||
def test_delete_bundle_only_allows_own_bundles(self):
|
||||
self.authenticate()
|
||||
|
||||
|
@@ -100,6 +100,18 @@ class BundleIndexViewTestCase(TestCase, BookmarkFactoryMixin):
|
||||
|
||||
self.assertFalse(BookmarkBundle.objects.filter(id=bundle.id).exists())
|
||||
|
||||
def test_remove_bundle_updates_order(self):
|
||||
bundle1 = self.setup_bundle(name="Bundle 1", order=0)
|
||||
bundle2 = self.setup_bundle(name="Bundle 2", order=1)
|
||||
bundle3 = self.setup_bundle(name="Bundle 3", order=2)
|
||||
|
||||
self.client.post(
|
||||
reverse("linkding:bundles.action"),
|
||||
{"remove_bundle": str(bundle2.id)},
|
||||
)
|
||||
|
||||
self.assertBundleOrder([bundle1, bundle3])
|
||||
|
||||
def test_remove_other_user_bundle(self):
|
||||
other_user = self.setup_user(name="otheruser")
|
||||
other_user_bundle = self.setup_bundle(name="Other User Bundle", user=other_user)
|
||||
|
@@ -79,10 +79,12 @@ class SettingsExportViewTestCase(TestCase, BookmarkFactoryMixin):
|
||||
|
||||
def test_filename_includes_date_and_time(self):
|
||||
self.setup_bookmark()
|
||||
|
||||
|
||||
# Mock timezone.now to return a fixed datetime for predictable filename
|
||||
fixed_time = datetime.datetime(2023, 5, 15, 14, 30, 45, tzinfo=datetime.timezone.utc)
|
||||
|
||||
fixed_time = datetime.datetime(
|
||||
2023, 5, 15, 14, 30, 45, tzinfo=datetime.timezone.utc
|
||||
)
|
||||
|
||||
with patch("bookmarks.views.settings.timezone.now", return_value=fixed_time):
|
||||
response = self.client.get(reverse("linkding:settings.export"), follow=True)
|
||||
|
||||
|
Reference in New Issue
Block a user