diff --git a/src/documents/tests/test_admin.py b/src/documents/tests/test_admin.py
new file mode 100644
index 000000000..b280c43ea
--- /dev/null
+++ b/src/documents/tests/test_admin.py
@@ -0,0 +1,57 @@
+from unittest import mock
+
+from django.contrib.admin.sites import AdminSite
+from django.test import TestCase
+from django.utils import timezone
+
+from documents.admin import DocumentAdmin
+from documents.models import Document, Tag
+
+
+class TestDocumentAdmin(TestCase):
+
+ def setUp(self) -> None:
+ self.doc_admin = DocumentAdmin(model=Document, admin_site=AdminSite())
+
+ @mock.patch("documents.admin.index.add_or_update_document")
+ def test_save_model(self, m):
+ doc = Document.objects.create(title="test")
+ doc.title = "new title"
+ self.doc_admin.save_model(None, doc, None, None)
+ self.assertEqual(Document.objects.get(id=doc.id).title, "new title")
+ m.assert_called_once()
+
+ def test_tags(self):
+ doc = Document.objects.create(title="test")
+ doc.tags.create(name="t1")
+ doc.tags.create(name="t2")
+
+ self.assertEqual(self.doc_admin.tags_(doc), "t1, t2, ")
+
+ def test_tags_empty(self):
+ doc = Document.objects.create(title="test")
+
+ self.assertEqual(self.doc_admin.tags_(doc), "")
+
+ @mock.patch("documents.admin.index.remove_document")
+ def test_delete_model(self, m):
+ doc = Document.objects.create(title="test")
+ self.doc_admin.delete_model(None, doc)
+ self.assertRaises(Document.DoesNotExist, Document.objects.get, id=doc.id)
+ m.assert_called_once()
+
+ @mock.patch("documents.admin.index.remove_document")
+ def test_delete_queryset(self, m):
+ for i in range(42):
+ Document.objects.create(title="Many documents with the same title", checksum=f"{i:02}")
+
+ self.assertEqual(Document.objects.count(), 42)
+
+ self.doc_admin.delete_queryset(None, Document.objects.all())
+
+ self.assertEqual(m.call_count, 42)
+ self.assertEqual(Document.objects.count(), 0)
+
+ def test_created(self):
+ doc = Document.objects.create(title="test", created=timezone.datetime(2020, 4, 12))
+ self.assertEqual(self.doc_admin.created_(doc), "2020-04-12")