mirror of
				https://github.com/sissbruecker/linkding.git
				synced 2025-11-03 20:44:05 +01: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