From 4213ca60acb43536fd60776fe26aa4e5dc823711 Mon Sep 17 00:00:00 2001 From: "Adrian A. Baumann" Date: Fri, 24 Oct 2025 17:48:08 +0000 Subject: [PATCH 1/4] Add comprehensive unit tests for dokumente app --- dokumente/tests.py | 502 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 499 insertions(+), 3 deletions(-) diff --git a/dokumente/tests.py b/dokumente/tests.py index b7afaf8..ede69f8 100644 --- a/dokumente/tests.py +++ b/dokumente/tests.py @@ -1,4 +1,500 @@ -from django.test import TestCase -from .models import Dokument +from django.test import TestCase, Client +from django.urls import reverse +from datetime import date, timedelta +from .models import ( + Dokumententyp, Person, Thema, Dokument, Vorgabe, + VorgabeLangtext, VorgabeKurztext, Geltungsbereich, + Einleitung, Checklistenfrage, Changelog +) +from abschnitte.models import Abschnitttyp +from referenzen.models import Referenz +from stichworte.models import Stichwort +from rollen.models import Rolle -# Create your tests here. + +class DokumententypModelTest(TestCase): + """Test cases for Dokumententyp model""" + + def setUp(self): + self.dokumententyp = Dokumententyp.objects.create( + name="Standard", + verantwortliche_ve="IT Department" + ) + + def test_dokumententyp_creation(self): + """Test that Dokumententyp is created correctly""" + self.assertEqual(self.dokumententyp.name, "Standard") + self.assertEqual(self.dokumententyp.verantwortliche_ve, "IT Department") + + def test_dokumententyp_str(self): + """Test string representation of Dokumententyp""" + self.assertEqual(str(self.dokumententyp), "Standard") + + def test_dokumententyp_verbose_name(self): + """Test verbose name""" + self.assertEqual( + Dokumententyp._meta.verbose_name, + "Dokumententyp" + ) + self.assertEqual( + Dokumententyp._meta.verbose_name_plural, + "Dokumententypen" + ) + + +class PersonModelTest(TestCase): + """Test cases for Person model""" + + def setUp(self): + self.person = Person.objects.create( + name="Max Mustermann", + funktion="Manager" + ) + + def test_person_creation(self): + """Test that Person is created correctly""" + self.assertEqual(self.person.name, "Max Mustermann") + self.assertEqual(self.person.funktion, "Manager") + + def test_person_str(self): + """Test string representation of Person""" + self.assertEqual(str(self.person), "Max Mustermann") + + def test_person_verbose_name_plural(self): + """Test verbose name plural""" + self.assertEqual( + Person._meta.verbose_name_plural, + "Personen" + ) + + +class ThemaModelTest(TestCase): + """Test cases for Thema model""" + + def setUp(self): + self.thema = Thema.objects.create( + name="Security", + erklaerung="Security related topics" + ) + + def test_thema_creation(self): + """Test that Thema is created correctly""" + self.assertEqual(self.thema.name, "Security") + self.assertEqual(self.thema.erklaerung, "Security related topics") + + def test_thema_str(self): + """Test string representation of Thema""" + self.assertEqual(str(self.thema), "Security") + + def test_thema_blank_erklaerung(self): + """Test that erklaerung can be blank""" + thema = Thema.objects.create(name="Testing") + self.assertEqual(thema.erklaerung, "") + + +class DokumentModelTest(TestCase): + """Test cases for Dokument model""" + + def setUp(self): + self.dokumententyp = Dokumententyp.objects.create( + name="Policy", + verantwortliche_ve="Legal" + ) + self.autor = Person.objects.create( + name="John Doe", + funktion="Author" + ) + self.pruefer = Person.objects.create( + name="Jane Smith", + funktion="Reviewer" + ) + self.dokument = Dokument.objects.create( + nummer="DOC-001", + dokumententyp=self.dokumententyp, + name="Security Policy", + gueltigkeit_von=date.today(), + signatur_cso="CSO-123", + anhaenge="Appendix A, B" + ) + self.dokument.autoren.add(self.autor) + self.dokument.pruefende.add(self.pruefer) + + def test_dokument_creation(self): + """Test that Dokument is created correctly""" + self.assertEqual(self.dokument.nummer, "DOC-001") + self.assertEqual(self.dokument.name, "Security Policy") + self.assertEqual(self.dokument.dokumententyp, self.dokumententyp) + + def test_dokument_str(self): + """Test string representation of Dokument""" + self.assertEqual(str(self.dokument), "DOC-001 – Security Policy") + + def test_dokument_many_to_many_relationships(self): + """Test many-to-many relationships""" + self.assertIn(self.autor, self.dokument.autoren.all()) + self.assertIn(self.pruefer, self.dokument.pruefende.all()) + + def test_dokument_optional_fields(self): + """Test optional fields can be None or blank""" + dokument = Dokument.objects.create( + nummer="DOC-002", + dokumententyp=self.dokumententyp, + name="Test Document" + ) + self.assertIsNone(dokument.gueltigkeit_von) + self.assertIsNone(dokument.gueltigkeit_bis) + self.assertEqual(dokument.signatur_cso, "") + self.assertEqual(dokument.anhaenge, "") + + +class VorgabeModelTest(TestCase): + """Test cases for Vorgabe model""" + + def setUp(self): + self.dokumententyp = Dokumententyp.objects.create( + name="Standard", + verantwortliche_ve="IT" + ) + self.dokument = Dokument.objects.create( + nummer="STD-001", + dokumententyp=self.dokumententyp, + name="IT Standard" + ) + self.thema = Thema.objects.create(name="Security") + self.vorgabe = Vorgabe.objects.create( + nummer=1, + dokument=self.dokument, + thema=self.thema, + titel="Password Requirements", + gueltigkeit_von=date.today() - timedelta(days=30) + ) + + def test_vorgabe_creation(self): + """Test that Vorgabe is created correctly""" + self.assertEqual(self.vorgabe.nummer, 1) + self.assertEqual(self.vorgabe.dokument, self.dokument) + self.assertEqual(self.vorgabe.thema, self.thema) + + def test_vorgabennummer(self): + """Test Vorgabennummer generation""" + expected = "STD-001.S.1" + self.assertEqual(self.vorgabe.Vorgabennummer(), expected) + + def test_vorgabe_str(self): + """Test string representation of Vorgabe""" + expected = "STD-001.S.1: Password Requirements" + self.assertEqual(str(self.vorgabe), expected) + + def test_get_status_active(self): + """Test get_status returns 'active' for current vorgabe""" + status = self.vorgabe.get_status() + self.assertEqual(status, "active") + + def test_get_status_future(self): + """Test get_status returns 'future' for future vorgabe""" + future_vorgabe = Vorgabe.objects.create( + nummer=2, + dokument=self.dokument, + thema=self.thema, + titel="Future Requirement", + gueltigkeit_von=date.today() + timedelta(days=30) + ) + status = future_vorgabe.get_status() + self.assertEqual(status, "future") + + def test_get_status_expired(self): + """Test get_status returns 'expired' for expired vorgabe""" + expired_vorgabe = Vorgabe.objects.create( + nummer=3, + dokument=self.dokument, + thema=self.thema, + titel="Old Requirement", + gueltigkeit_von=date.today() - timedelta(days=60), + gueltigkeit_bis=date.today() - timedelta(days=10) + ) + status = expired_vorgabe.get_status() + self.assertEqual(status, "expired") + + def test_get_status_verbose(self): + """Test get_status with verbose=True""" + future_vorgabe = Vorgabe.objects.create( + nummer=4, + dokument=self.dokument, + thema=self.thema, + titel="Future Test", + gueltigkeit_von=date.today() + timedelta(days=10) + ) + status = future_vorgabe.get_status(verbose=True) + self.assertIn("Ist erst ab dem", status) + self.assertIn("in Kraft", status) + + def test_get_status_with_custom_check_date(self): + """Test get_status with custom check_date""" + vorgabe = Vorgabe.objects.create( + nummer=5, + dokument=self.dokument, + thema=self.thema, + titel="Test Requirement", + gueltigkeit_von=date.today() - timedelta(days=60), + gueltigkeit_bis=date.today() - timedelta(days=10) + ) + check_date = date.today() - timedelta(days=30) + status = vorgabe.get_status(check_date=check_date) + self.assertEqual(status, "active") + + +class VorgabeTextAbschnitteTest(TestCase): + """Test cases for VorgabeLangtext and VorgabeKurztext""" + + def setUp(self): + self.dokumententyp = Dokumententyp.objects.create( + name="Standard", + verantwortliche_ve="IT" + ) + self.dokument = Dokument.objects.create( + nummer="STD-001", + dokumententyp=self.dokumententyp, + name="Test Standard" + ) + self.thema = Thema.objects.create(name="Testing") + self.vorgabe = Vorgabe.objects.create( + nummer=1, + dokument=self.dokument, + thema=self.thema, + titel="Test Vorgabe", + gueltigkeit_von=date.today() + ) + self.abschnitttyp = Abschnitttyp.objects.create( + name="Paragraph", + format_string="

{}

" + ) + + def test_vorgabe_langtext_creation(self): + """Test VorgabeLangtext creation""" + langtext = VorgabeLangtext.objects.create( + abschnitt=self.vorgabe, + abschnitttyp=self.abschnitttyp, + content="This is a long text description", + order=1 + ) + self.assertEqual(langtext.abschnitt, self.vorgabe) + self.assertEqual(langtext.content, "This is a long text description") + + def test_vorgabe_kurztext_creation(self): + """Test VorgabeKurztext creation""" + kurztext = VorgabeKurztext.objects.create( + abschnitt=self.vorgabe, + abschnitttyp=self.abschnitttyp, + content="Short summary", + order=1 + ) + self.assertEqual(kurztext.abschnitt, self.vorgabe) + self.assertEqual(kurztext.content, "Short summary") + + +class DokumentTextAbschnitteTest(TestCase): + """Test cases for Geltungsbereich and Einleitung""" + + def setUp(self): + self.dokumententyp = Dokumententyp.objects.create( + name="Policy", + verantwortliche_ve="Legal" + ) + self.dokument = Dokument.objects.create( + nummer="POL-001", + dokumententyp=self.dokumententyp, + name="Test Policy" + ) + self.abschnitttyp = Abschnitttyp.objects.create( + name="Paragraph", + format_string="

{}

" + ) + + def test_geltungsbereich_creation(self): + """Test Geltungsbereich creation""" + geltungsbereich = Geltungsbereich.objects.create( + geltungsbereich=self.dokument, + abschnitttyp=self.abschnitttyp, + content="Applies to all employees", + order=1 + ) + self.assertEqual(geltungsbereich.geltungsbereich, self.dokument) + self.assertEqual(geltungsbereich.content, "Applies to all employees") + + def test_einleitung_creation(self): + """Test Einleitung creation""" + einleitung = Einleitung.objects.create( + einleitung=self.dokument, + abschnitttyp=self.abschnitttyp, + content="This document defines...", + order=1 + ) + self.assertEqual(einleitung.einleitung, self.dokument) + self.assertEqual(einleitung.content, "This document defines...") + + +class ChecklistenfrageModelTest(TestCase): + """Test cases for Checklistenfrage model""" + + def setUp(self): + self.dokumententyp = Dokumententyp.objects.create( + name="Standard", + verantwortliche_ve="QA" + ) + self.dokument = Dokument.objects.create( + nummer="QA-001", + dokumententyp=self.dokumententyp, + name="QA Standard" + ) + self.thema = Thema.objects.create(name="Quality") + self.vorgabe = Vorgabe.objects.create( + nummer=1, + dokument=self.dokument, + thema=self.thema, + titel="Quality Check", + gueltigkeit_von=date.today() + ) + self.frage = Checklistenfrage.objects.create( + vorgabe=self.vorgabe, + frage="Have all tests passed?" + ) + + def test_checklistenfrage_creation(self): + """Test Checklistenfrage creation""" + self.assertEqual(self.frage.vorgabe, self.vorgabe) + self.assertEqual(self.frage.frage, "Have all tests passed?") + + def test_checklistenfrage_str(self): + """Test string representation""" + self.assertEqual(str(self.frage), "Have all tests passed?") + + def test_checklistenfrage_related_name(self): + """Test related name works correctly""" + self.assertIn(self.frage, self.vorgabe.checklistenfragen.all()) + + +class ChangelogModelTest(TestCase): + """Test cases for Changelog model""" + + def setUp(self): + self.dokumententyp = Dokumententyp.objects.create( + name="Standard", + verantwortliche_ve="IT" + ) + self.dokument = Dokument.objects.create( + nummer="STD-001", + dokumententyp=self.dokumententyp, + name="IT Standard" + ) + self.autor = Person.objects.create( + name="John Doe", + funktion="Developer" + ) + self.changelog = Changelog.objects.create( + dokument=self.dokument, + datum=date.today(), + aenderung="Initial version" + ) + self.changelog.autoren.add(self.autor) + + def test_changelog_creation(self): + """Test Changelog creation""" + self.assertEqual(self.changelog.dokument, self.dokument) + self.assertEqual(self.changelog.aenderung, "Initial version") + self.assertIn(self.autor, self.changelog.autoren.all()) + + def test_changelog_str(self): + """Test string representation""" + expected = f"{date.today()} – STD-001" + self.assertEqual(str(self.changelog), expected) + + +class ViewsTestCase(TestCase): + """Test cases for views""" + + def setUp(self): + self.client = Client() + self.dokumententyp = Dokumententyp.objects.create( + name="Standard", + verantwortliche_ve="IT" + ) + self.dokument = Dokument.objects.create( + nummer="STD-001", + dokumententyp=self.dokumententyp, + name="Test Standard" + ) + self.thema = Thema.objects.create(name="Testing") + self.vorgabe = Vorgabe.objects.create( + nummer=1, + dokument=self.dokument, + thema=self.thema, + titel="Test Requirement", + gueltigkeit_von=date.today() + ) + self.abschnitttyp = Abschnitttyp.objects.create( + name="Paragraph", + format_string="

{}

" + ) + + def test_standard_list_view(self): + """Test standard_list view""" + response = self.client.get(reverse('standard_list')) + self.assertEqual(response.status_code, 200) + self.assertContains(response, "STD-001") + self.assertIn('dokumente', response.context) + + def test_standard_detail_view(self): + """Test standard_detail view""" + response = self.client.get( + reverse('standard_detail', kwargs={'nummer': 'STD-001'}) + ) + self.assertEqual(response.status_code, 200) + self.assertIn('standard', response.context) + self.assertIn('vorgaben', response.context) + self.assertEqual(response.context['standard'], self.dokument) + + def test_standard_detail_view_404(self): + """Test standard_detail view returns 404 for non-existent document""" + response = self.client.get( + reverse('standard_detail', kwargs={'nummer': 'NONEXISTENT'}) + ) + self.assertEqual(response.status_code, 404) + + def test_standard_checkliste_view(self): + """Test standard_checkliste view""" + response = self.client.get( + reverse('standard_checkliste', kwargs={'nummer': 'STD-001'}) + ) + self.assertEqual(response.status_code, 200) + self.assertIn('standard', response.context) + self.assertIn('vorgaben', response.context) + + def test_standard_history_view(self): + """Test standard_detail with history (check_date)""" + url = reverse('standard_history', kwargs={'nummer': 'STD-001'}) + response = self.client.get(url) + self.assertEqual(response.status_code, 200) + + +class URLPatternsTest(TestCase): + """Test URL patterns""" + + def test_standard_list_url_resolves(self): + """Test that standard_list URL resolves correctly""" + url = reverse('standard_list') + self.assertEqual(url, '/dokumente/') + + def test_standard_detail_url_resolves(self): + """Test that standard_detail URL resolves correctly""" + url = reverse('standard_detail', kwargs={'nummer': 'TEST-001'}) + self.assertEqual(url, '/dokumente/TEST-001/') + + def test_standard_checkliste_url_resolves(self): + """Test that standard_checkliste URL resolves correctly""" + url = reverse('standard_checkliste', kwargs={'nummer': 'TEST-001'}) + self.assertEqual(url, '/dokumente/TEST-001/checkliste/') + + def test_standard_history_url_resolves(self): + """Test that standard_history URL resolves correctly""" + url = reverse('standard_history', kwargs={'nummer': 'TEST-001'}) + self.assertEqual(url, '/dokumente/TEST-001/history/') From af06598172488358d96044e26eb96f86d7dcf960 Mon Sep 17 00:00:00 2001 From: "Adrian A. Baumann" Date: Fri, 24 Oct 2025 17:54:59 +0000 Subject: [PATCH 2/4] Fix tests: Update Abschnitttyp to AbschnittTyp --- dokumente/tests.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dokumente/tests.py b/dokumente/tests.py index ede69f8..e58cced 100644 --- a/dokumente/tests.py +++ b/dokumente/tests.py @@ -6,7 +6,7 @@ from .models import ( VorgabeLangtext, VorgabeKurztext, Geltungsbereich, Einleitung, Checklistenfrage, Changelog ) -from abschnitte.models import Abschnitttyp +from abschnitte.models import AbschnittTyp from referenzen.models import Referenz from stichworte.models import Stichwort from rollen.models import Rolle @@ -264,7 +264,7 @@ class VorgabeTextAbschnitteTest(TestCase): titel="Test Vorgabe", gueltigkeit_von=date.today() ) - self.abschnitttyp = Abschnitttyp.objects.create( + self.abschnitttyp = AbschnittTyp.objects.create( name="Paragraph", format_string="

{}

" ) @@ -305,7 +305,7 @@ class DokumentTextAbschnitteTest(TestCase): dokumententyp=self.dokumententyp, name="Test Policy" ) - self.abschnitttyp = Abschnitttyp.objects.create( + self.abschnitttyp = AbschnittTyp.objects.create( name="Paragraph", format_string="

{}

" ) @@ -431,7 +431,7 @@ class ViewsTestCase(TestCase): titel="Test Requirement", gueltigkeit_von=date.today() ) - self.abschnitttyp = Abschnitttyp.objects.create( + self.abschnitttyp = AbschnittTyp.objects.create( name="Paragraph", format_string="

{}

" ) From afc07d45611292056ad6dcf9a4d2eb3bc801eef7 Mon Sep 17 00:00:00 2001 From: "Adrian A. Baumann" Date: Fri, 24 Oct 2025 17:58:54 +0000 Subject: [PATCH 3/4] Fix tests: Update field names to match actual model structure (abschnitttyp field, inhalt field) --- dokumente/tests.py | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/dokumente/tests.py b/dokumente/tests.py index e58cced..aa3cafc 100644 --- a/dokumente/tests.py +++ b/dokumente/tests.py @@ -265,8 +265,7 @@ class VorgabeTextAbschnitteTest(TestCase): gueltigkeit_von=date.today() ) self.abschnitttyp = AbschnittTyp.objects.create( - name="Paragraph", - format_string="

{}

" + abschnitttyp="Paragraph" ) def test_vorgabe_langtext_creation(self): @@ -274,22 +273,22 @@ class VorgabeTextAbschnitteTest(TestCase): langtext = VorgabeLangtext.objects.create( abschnitt=self.vorgabe, abschnitttyp=self.abschnitttyp, - content="This is a long text description", + inhalt="This is a long text description", order=1 ) self.assertEqual(langtext.abschnitt, self.vorgabe) - self.assertEqual(langtext.content, "This is a long text description") + self.assertEqual(langtext.inhalt, "This is a long text description") def test_vorgabe_kurztext_creation(self): """Test VorgabeKurztext creation""" kurztext = VorgabeKurztext.objects.create( abschnitt=self.vorgabe, abschnitttyp=self.abschnitttyp, - content="Short summary", + inhalt="Short summary", order=1 ) self.assertEqual(kurztext.abschnitt, self.vorgabe) - self.assertEqual(kurztext.content, "Short summary") + self.assertEqual(kurztext.inhalt, "Short summary") class DokumentTextAbschnitteTest(TestCase): @@ -306,8 +305,7 @@ class DokumentTextAbschnitteTest(TestCase): name="Test Policy" ) self.abschnitttyp = AbschnittTyp.objects.create( - name="Paragraph", - format_string="

{}

" + abschnitttyp="Paragraph" ) def test_geltungsbereich_creation(self): @@ -315,22 +313,22 @@ class DokumentTextAbschnitteTest(TestCase): geltungsbereich = Geltungsbereich.objects.create( geltungsbereich=self.dokument, abschnitttyp=self.abschnitttyp, - content="Applies to all employees", + inhalt="Applies to all employees", order=1 ) self.assertEqual(geltungsbereich.geltungsbereich, self.dokument) - self.assertEqual(geltungsbereich.content, "Applies to all employees") + self.assertEqual(geltungsbereich.inhalt, "Applies to all employees") def test_einleitung_creation(self): """Test Einleitung creation""" einleitung = Einleitung.objects.create( einleitung=self.dokument, abschnitttyp=self.abschnitttyp, - content="This document defines...", + inhalt="This document defines...", order=1 ) self.assertEqual(einleitung.einleitung, self.dokument) - self.assertEqual(einleitung.content, "This document defines...") + self.assertEqual(einleitung.inhalt, "This document defines...") class ChecklistenfrageModelTest(TestCase): @@ -432,8 +430,7 @@ class ViewsTestCase(TestCase): gueltigkeit_von=date.today() ) self.abschnitttyp = AbschnittTyp.objects.create( - name="Paragraph", - format_string="

{}

" + abschnitttyp="Paragraph" ) def test_standard_list_view(self): From 957a1b92552d50a04656e3bc5c163e0ee5a25d9d Mon Sep 17 00:00:00 2001 From: "Adrian A. Baumann" Date: Mon, 27 Oct 2025 10:03:58 +0100 Subject: [PATCH 4/4] Changed tests to be more in line with our terms --- dokumente/tests.py | 50 +++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/dokumente/tests.py b/dokumente/tests.py index aa3cafc..775c6a3 100644 --- a/dokumente/tests.py +++ b/dokumente/tests.py @@ -17,18 +17,18 @@ class DokumententypModelTest(TestCase): def setUp(self): self.dokumententyp = Dokumententyp.objects.create( - name="Standard", - verantwortliche_ve="IT Department" + name="Standard IT-Sicherheit", + verantwortliche_ve="SR-SUR-SEC" ) def test_dokumententyp_creation(self): """Test that Dokumententyp is created correctly""" - self.assertEqual(self.dokumententyp.name, "Standard") - self.assertEqual(self.dokumententyp.verantwortliche_ve, "IT Department") + self.assertEqual(self.dokumententyp.name, "Standard IT-Sicherheit") + self.assertEqual(self.dokumententyp.verantwortliche_ve, "SR-SUR-SEC") def test_dokumententyp_str(self): """Test string representation of Dokumententyp""" - self.assertEqual(str(self.dokumententyp), "Standard") + self.assertEqual(str(self.dokumententyp), "Standard IT-Sicherheit") def test_dokumententyp_verbose_name(self): """Test verbose name""" @@ -152,11 +152,11 @@ class VorgabeModelTest(TestCase): def setUp(self): self.dokumententyp = Dokumententyp.objects.create( - name="Standard", - verantwortliche_ve="IT" + name="Standard IT-Sicherheit", + verantwortliche_ve="SR-SUR-SEC" ) self.dokument = Dokument.objects.create( - nummer="STD-001", + nummer="R01234", dokumententyp=self.dokumententyp, name="IT Standard" ) @@ -177,12 +177,12 @@ class VorgabeModelTest(TestCase): def test_vorgabennummer(self): """Test Vorgabennummer generation""" - expected = "STD-001.S.1" + expected = "R01234.S.1" self.assertEqual(self.vorgabe.Vorgabennummer(), expected) def test_vorgabe_str(self): """Test string representation of Vorgabe""" - expected = "STD-001.S.1: Password Requirements" + expected = "R01234.S.1: Password Requirements" self.assertEqual(str(self.vorgabe), expected) def test_get_status_active(self): @@ -248,11 +248,11 @@ class VorgabeTextAbschnitteTest(TestCase): def setUp(self): self.dokumententyp = Dokumententyp.objects.create( - name="Standard", - verantwortliche_ve="IT" + name="Standard IT-Sicherheit", + verantwortliche_ve="SR-SUR-SEC" ) self.dokument = Dokument.objects.create( - nummer="STD-001", + nummer="R01234", dokumententyp=self.dokumententyp, name="Test Standard" ) @@ -336,7 +336,7 @@ class ChecklistenfrageModelTest(TestCase): def setUp(self): self.dokumententyp = Dokumententyp.objects.create( - name="Standard", + name="Standard IT-Sicherheit", verantwortliche_ve="QA" ) self.dokument = Dokument.objects.create( @@ -376,11 +376,11 @@ class ChangelogModelTest(TestCase): def setUp(self): self.dokumententyp = Dokumententyp.objects.create( - name="Standard", - verantwortliche_ve="IT" + name="Standard IT-Sicherheit", + verantwortliche_ve="SR-SUR-SEC" ) self.dokument = Dokument.objects.create( - nummer="STD-001", + nummer="R01234", dokumententyp=self.dokumententyp, name="IT Standard" ) @@ -403,7 +403,7 @@ class ChangelogModelTest(TestCase): def test_changelog_str(self): """Test string representation""" - expected = f"{date.today()} – STD-001" + expected = f"{date.today()} – R01234" self.assertEqual(str(self.changelog), expected) @@ -413,11 +413,11 @@ class ViewsTestCase(TestCase): def setUp(self): self.client = Client() self.dokumententyp = Dokumententyp.objects.create( - name="Standard", - verantwortliche_ve="IT" + name="Standard IT-Sicherheit", + verantwortliche_ve="SR-SUR-SEC" ) self.dokument = Dokument.objects.create( - nummer="STD-001", + nummer="R01234", dokumententyp=self.dokumententyp, name="Test Standard" ) @@ -437,13 +437,13 @@ class ViewsTestCase(TestCase): """Test standard_list view""" response = self.client.get(reverse('standard_list')) self.assertEqual(response.status_code, 200) - self.assertContains(response, "STD-001") + self.assertContains(response, "R01234") self.assertIn('dokumente', response.context) def test_standard_detail_view(self): """Test standard_detail view""" response = self.client.get( - reverse('standard_detail', kwargs={'nummer': 'STD-001'}) + reverse('standard_detail', kwargs={'nummer': 'R01234'}) ) self.assertEqual(response.status_code, 200) self.assertIn('standard', response.context) @@ -460,7 +460,7 @@ class ViewsTestCase(TestCase): def test_standard_checkliste_view(self): """Test standard_checkliste view""" response = self.client.get( - reverse('standard_checkliste', kwargs={'nummer': 'STD-001'}) + reverse('standard_checkliste', kwargs={'nummer': 'R01234'}) ) self.assertEqual(response.status_code, 200) self.assertIn('standard', response.context) @@ -468,7 +468,7 @@ class ViewsTestCase(TestCase): def test_standard_history_view(self): """Test standard_detail with history (check_date)""" - url = reverse('standard_history', kwargs={'nummer': 'STD-001'}) + url = reverse('standard_history', kwargs={'nummer': 'R01234'}) response = self.client.get(url) self.assertEqual(response.status_code, 200)