From 360b11ae26e7b88a0a9714dfff4b8308f25ad10d Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 11 May 2025 13:22:48 -0700 Subject: [PATCH] Coverage --- src/documents/tests/test_api_documents.py | 26 ++++++++++++++ src/documents/tests/test_migration_created.py | 36 +++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 src/documents/tests/test_migration_created.py diff --git a/src/documents/tests/test_api_documents.py b/src/documents/tests/test_api_documents.py index 2c69a7350..c63ffdb57 100644 --- a/src/documents/tests/test_api_documents.py +++ b/src/documents/tests/test_api_documents.py @@ -171,6 +171,32 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase): results = response.data["results"] self.assertEqual(len(results[0]), 0) + def test_document_update_with_created_date(self): + """ + GIVEN: + - Existing document + WHEN: + - Document is updated with created_date and not created + THEN: + - Document created field is updated + """ + doc = Document.objects.create( + title="none", + checksum="123", + mime_type="application/pdf", + created=date(2023, 1, 1), + ) + + created_date = date(2023, 2, 1) + self.client.patch( + f"/api/documents/{doc.pk}/", + {"created_date": created_date}, + format="json", + ) + + doc.refresh_from_db() + self.assertEqual(doc.created_date, created_date) + def test_document_actions(self): _, filename = tempfile.mkstemp(dir=self.dirs.originals_dir) diff --git a/src/documents/tests/test_migration_created.py b/src/documents/tests/test_migration_created.py new file mode 100644 index 000000000..42c30a745 --- /dev/null +++ b/src/documents/tests/test_migration_created.py @@ -0,0 +1,36 @@ +from datetime import datetime +from datetime import timedelta + +from documents.tests.utils import DirectoriesMixin +from documents.tests.utils import TestMigrations + + +class TestMigrateDocumentCreated(DirectoriesMixin, TestMigrations): + migrate_from = "1065_workflowaction_assign_custom_fields_values" + migrate_to = "1066_alter_document_created" + + def setUpBeforeMigration(self, apps): + # create 600 documents + for i in range(600): + Document = apps.get_model("documents", "Document") + Document.objects.create( + title=f"test{i}", + mime_type="application/pdf", + filename=f"file{i}.pdf", + created=datetime( + 2023, + 10, + 1, + 12, + 0, + 0, + ) + + timedelta(days=i), + checksum=i, + ) + + def testDocumentCreatedMigrated(self): + Document = self.apps.get_model("documents", "Document") + + doc = Document.objects.get(id=1) + self.assertEqual(doc.created, datetime(2023, 10, 1, 12, 0, 0).date())