def saveAufgabe(form_to_save, request, template): Aufgabe = form_to_save.save(commit=False) if 'stati' in request.POST: Aufgabe.status = request.POST['stati'] Aufgabe.save() return redirect('/aufgabe/' + str(aufgabe.pk) + '/')
def testModel(self): #Hier wird das Model getestet #-------------------TeamhubUser-------------------------------------------> # Prüfen ob die TeamhubUsertabelle in der Datenbank leer ist: self.assertEqual(TeamhubUser.objects.all().count(), 0, '---Projekttabelle ist nicht leer!---') # TeamhubUser mit Teamleiterrechten erstellen testUser = TeamhubUser(username='******', email='*****@*****.**', is_staff=True) testUser.set_password('user') testUser.save() # Testen ob ein neuer Benutzer erstellt wurde testUser = TeamhubUser.objects.get(pk=1) self.assertEqual(testUser.username, 'user', '---Benutzername ist nicht korrekt!---') self.assertEqual(testUser.email, '*****@*****.**', '---Email ist nicht korrekt!---') self.assertEqual(testUser.is_staff, True, '---Berechtigung ist nicht korrekt!---') self.assertEqual(testUser.check_password('user'), True, '---Passwort ist nicht korrekt!---') # Name des Benutzer ändern und Änderung prüfen testUser.username = '******' testUser.save() self.assertEqual(testUser.username, 'benutzer', '---Benutzername ist nicht korrekt!---') # Email des Benutzer ändern und Änderung prüfen testUser.email = '*****@*****.**' testUser.save() self.assertEqual(testUser.email, '*****@*****.**', '---Email ist nicht korrekt!---') # Berechtigung des Benutzer ändern und Änderung prüfen testUser.is_staff = False testUser.save() self.assertEqual(testUser.is_staff, False, '---Berechtigung ist nicht korrekt!---') # Passwort des Benutzer ändern und Änderung prüfen testUser.set_password('benutzer') testUser.save() self.assertEqual(testUser.check_password('benutzer'), True, '---Berechtigung ist nicht korrekt!---') # Testen ob ein Benutzer mit dem gleichen Namen erstellt werden kann doppelterNameUser = TeamhubUser(username='******', email='*****@*****.**', is_staff=True) self.assertRaisesRegexp(IntegrityError, 'column username is not unique', doppelterNameUser.save) self.assertEqual(TeamhubUser.objects.get(username='******'), testUser, '---Benutzer mit gleichen Namen wurde erstellt!---') #Testen ob für Benutzername nur Buchstaben, Zahlen, sowie die Zeichen @-+_ erlaubt sind #testUser.username='******' #self.assertRaisesRegexp(IntegrityError, c.FEHLER_TEAMHUBUSER_USERNAME_INVALID, testUser.save) #<-------------------------------------------------------------------- #-------------------Projekt-------------------------------------------> #Vorbereitung andereruser = TeamhubUser(username='******', email='*****@*****.**', is_staff=True) andereruser.save() # Prüfen ob die Projekttabelle in der Datenbank leer ist: self.assertEqual(Projekt.objects.all().count(), 0, '---Projekttabelle ist nicht leer!---') #Ein gültiges Projekt wird erstellt testProjekt = Projekt(besitzer=testUser, name='testProjekt', beschreibung='Test,test,test!!!', status=c.PROJEKT_STATUS_OP) testProjekt.save() #Testen ob ein Projekt erstellt wurde self.assertEqual(Projekt.objects.all().count(), 1, '---Projekttabelle ist nicht korrekt!---') #Testen ob alle Daten korrekt gespeichert wurden testprojekt = Projekt.objects.get(pk=1) self.assertEqual(testprojekt.besitzer, testUser, '---Projektbesitzer ist nicht korrekt!---') self.assertEqual(testprojekt.name, 'testProjekt', '---Projektname ist nicht korrekt!---') self.assertEqual(testprojekt.beschreibung, 'Test,test,test!!!', '---Projektbeschreibung ist nicht korrekt!---') self.assertEqual(testprojekt.status, c.PROJEKT_STATUS_OP, '---Projektstatus ist nicht korrekt!---') # Name des Projekts ändern und Änderung prüfen testprojekt.name = 'andesresTestProjekt' testprojekt.save() self.assertEqual(testprojekt.name, 'andesresTestProjekt', '---Projektname ist nicht korrekt!---') # Beschreibung des Projekts ändern und Änderung prüfen testprojekt.beschreibung = 'andesre Beschreibung' testprojekt.save() self.assertEqual(testprojekt.beschreibung, 'andesre Beschreibung', '---Projektbeschreibung ist nicht korrekt!---') # Status des Projekts ändern und Änderung prüfen testprojekt.status = c.PROJEKT_STATUS_CL testprojekt.save() self.assertEqual(testprojekt.status, c.PROJEKT_STATUS_CL, '---Projektstatus ist nicht korrekt!---') # Besitzer des Projekts ändern und Änderung prüfen (Nur auf der Modelebene möglich, im laufenden Betrieb hat der Benutzer kein Zugriff auf diese Möglichkeit) testprojekt.besitzer = andereruser testprojekt.save() self.assertEqual(testprojekt.besitzer, andereruser, '---Projektbesitzer ist nicht korrekt!---') # Prüfen ob Projektname doppelt sein kann (darf nicht vorkommen) doppelterNameProjekt = Projekt(besitzer=testUser, name='andesresTestProjekt', beschreibung='Test,test,test!!!', status=c.PROJEKT_STATUS_OP) self.assertRaisesRegexp(IntegrityError, 'column name is not unique', doppelterNameProjekt.save) self.assertEqual(Projekt.objects.get(name='andesresTestProjekt'), testprojekt, '---Projekt mit gleichen Namen wurde erstellt!---') #<-------------------------------------------------------------------- #-------------------Aufgabe-------------------------------------------> #Vorbereitung testprojekt.status = c.PROJEKT_STATUS_OP testprojekt.save() anderesProjekt = Projekt(besitzer=testUser, name='anderesProjekt', beschreibung='Test,test,test!!!', status=c.PROJEKT_STATUS_OP) anderesProjekt.save() fDatum = timezone.make_aware(datetime.datetime.now() + datetime.timedelta(days=1), timezone.get_default_timezone( )) #Ein Datum-Objekt erstellen(Morgen) fDatum1 = timezone.make_aware( datetime.datetime.now() + datetime.timedelta(days=2), timezone.get_default_timezone( )) #Ein Datum-Objekt erstellen(Übermorgen) # Prüfen ob die Aufgabentabelle in der Datenbank leer ist self.assertEqual(Aufgabe.objects.all().count(), 0, '---Aufgabentabelle ist nicht leer!---') #Eine gültige Aufgabe wird erstellt testaufgabe = Aufgabe(ersteller=testUser, bearbeiter=testUser, projekt=testprojekt, titel="Testaufgabe", beschreibung="Beschreibung der Testaufgabe", faelligkeitsDatum=fDatum) testaufgabe.save() #Testen ob alle Daten korrekt gespeichert wurden testaufgabe = Aufgabe.objects.get(pk=1) self.assertEqual(testaufgabe.titel, 'Testaufgabe', '---Aufgabentitel ist nicht korrekt!---') self.assertEqual(testaufgabe.bearbeiter, testUser, '---Bearbeiter der Aufgabe ist nicht korrekt!---') self.assertEqual(testaufgabe.ersteller, testUser, '---Ersteller der Aufgabe ist nicht korrekt!---') self.assertEqual(testaufgabe.prioritaet, c.PRIORITAET_ME, '---Aufgabenpriorität ist nicht korrekt!---') self.assertEqual(testaufgabe.projekt, testprojekt, '---Projekt der Aufgabe ist nicht korrekt!---') self.assertEqual(testaufgabe.beschreibung, 'Beschreibung der Testaufgabe', '---Aufgabenbeschreibung ist nicht korrekt!---') self.assertEqual( testaufgabe.faelligkeitsDatum, fDatum, '---Fälligkeitsdatum der Aufgabe ist nicht korrekt!---') self.assertEqual(testaufgabe.status, c.AUFGABE_STATUS_IP, '---Aufgabenstatus ist nicht korrekt!---') # Titel der Aufgabe ändern und Änderung prüfen testaufgabe.titel = 'anderer Titel' testaufgabe.save() self.assertEqual(testaufgabe.titel, 'anderer Titel', '---Aufgabentitel ist nicht korrekt!---') # Beschreibung der Aufgabe ändern und Änderung prüfen testaufgabe.beschreibung = 'andere Beschreibung' testaufgabe.save() self.assertEqual(testaufgabe.beschreibung, 'andere Beschreibung', '---Aufgabenbeschreibung ist nicht korrekt!---') # Priorität der Aufgabe ändern und Änderung prüfen testaufgabe.prioritaet = c.PRIORITAET_HI testaufgabe.save() self.assertEqual(testaufgabe.prioritaet, c.PRIORITAET_HI, '---Aufgabenpriorität ist nicht korrekt!---') testaufgabe.prioritaet = c.PRIORITAET_LO testaufgabe.save() self.assertEqual(testaufgabe.prioritaet, c.PRIORITAET_LO, '---Aufgabenpriorität ist nicht korrekt!---') # Bearbeiter der Aufgabe ändern und Änderung prüfen testaufgabe.bearbeiter = andereruser testaufgabe.save() self.assertEqual(testaufgabe.bearbeiter, andereruser, '---Bearbeiter der Aufgabe ist nicht korrekt!---') # Fälligkeitsdatum der Aufgabe ändern und Änderung prüfen testaufgabe.faelligkeitsDatum = fDatum1 testaufgabe.save() self.assertEqual( testaufgabe.faelligkeitsDatum, fDatum1, '---Fälligkeitsdatum der Aufgabe ist nicht korrekt!---') # Ersteller der Aufgabe ändern und Änderung prüfen (Nur auf der Modelebene möglich, im laufenden Betrieb hat der Benutzer kein Zugriff auf diese Möglichkeit) testaufgabe.ersteller = andereruser testaufgabe.save() self.assertEqual(testaufgabe.ersteller, andereruser, '---Ersteller der Aufgabe ist nicht korrekt!---') # Projekt der Aufgabe ändern und Änderung prüfen testaufgabe.projekt = anderesProjekt testaufgabe.save() self.assertEqual(testaufgabe.projekt, anderesProjekt, '---Projekt der Aufgabe ist nicht korrekt!---') #Übergänge zwischen verschiedenen Status testen self.assertEqual(testaufgabe.status, c.AUFGABE_STATUS_IP, '---Falscher Status---') self.assertEqual(testaufgabe.getStati(), dict(AUFGABE_STATUS[2:]), '---Die möglichen Zustände sind nicht korrekt!---') testaufgabe.bearbeiter = None testaufgabe.save() self.assertEqual(testaufgabe.status, c.AUFGABE_STATUS_OP, '---Falscher Status---') self.assertEqual(testaufgabe.getStati(), dict(AUFGABE_STATUS[3:]), '---Die möglichen Zustände sind nicht korrekt!---') testaufgabe.bearbeiter = testUser testaufgabe.save() self.assertEqual(testaufgabe.status, c.AUFGABE_STATUS_IP, '---Falscher Status---') testaufgabe.status = c.AUFGABE_STATUS_PA testaufgabe.save() self.assertEqual(testaufgabe.status, c.AUFGABE_STATUS_PA, '---Falscher Status---') self.assertEqual(testaufgabe.getStati(), dict(AUFGABE_STATUS[1:2]), '---Die möglichen Zustände sind nicht korrekt!---') testaufgabe.status = c.AUFGABE_STATUS_CL testaufgabe.save() self.assertEqual(testaufgabe.status, c.AUFGABE_STATUS_CL, '---Falscher Status---') self.assertEqual(testaufgabe.getStati(), dict(AUFGABE_STATUS[1:2]), '---Die möglichen Zustände sind nicht korrekt!---') #Testen, ob eine Aufgabe mit dem gleichen Namen erstellt werden kann aufgabe1 = Aufgabe(ersteller=testUser, bearbeiter=testUser, projekt=anderesProjekt, titel='anderer Titel', beschreibung='Beschreibung der Testaufgabe', faelligkeitsDatum=fDatum) self.assertRaisesRegexp(IntegrityError, c.FEHLER_AUFGABE_NAME, aufgabe1.save) self.assertEqual( Aufgabe.objects.all().count(), 1, '---Eine Aufgabe mit gleichen Namen wurde erstellt!---') #Testen, ob eine Aufgabe mit einem Faelligkeitsdatum, das in Vergangenheit liegt, erstellt werden kann aufgabe1 = Aufgabe(ersteller=testUser, projekt=anderesProjekt, titel='Aufgabe zum Testen', beschreibung='Beschreibung der Testaufgabe', faelligkeitsDatum=fDatum) aufgabe1.faelligkeitsDatum = timezone.make_aware( datetime.datetime.now() - datetime.timedelta(days=1), timezone.get_default_timezone()) self.assertRaisesRegexp(IntegrityError, c.FEHLER_AUFGABE_DATUM, aufgabe1.save) self.assertEqual( Aufgabe.objects.all().count(), 1, '---Eine Aufgabe mit falschen Datum wurde erstellt!---') #Testen, ob eine Aufgabe in einem Projekt, das den Status "Geschlossen" hat, erstellt werden kann testprojekt.status = c.PROJEKT_STATUS_CL testprojekt.save() aufgabe1 = Aufgabe(ersteller=testUser, bearbeiter=testUser, projekt=testprojekt, titel='Aufgabe zum Testen', beschreibung='Beschreibung der Testaufgabe', faelligkeitsDatum=fDatum) self.assertRaisesRegexp(IntegrityError, c.FEHLER_AUFGABE_PROJEKTSTATUS, aufgabe1.save) self.assertEqual( Aufgabe.objects.all().count(), 1, '---Eine Aufgabe im geschlossenen Projekt wurde erstellt!---')
def testModel(self): #Hier wird das Model getestet #-------------------TeamhubUser-------------------------------------------> # Prüfen ob die TeamhubUsertabelle in der Datenbank leer ist: self.assertEqual(TeamhubUser.objects.all().count(), 0, '---Projekttabelle ist nicht leer!---') # TeamhubUser mit Teamleiterrechten erstellen testUser=TeamhubUser(username='******', email='*****@*****.**', is_staff=True) testUser.set_password('user') testUser.save() # Testen ob ein neuer Benutzer erstellt wurde testUser=TeamhubUser.objects.get(pk=1) self.assertEqual(testUser.username, 'user', '---Benutzername ist nicht korrekt!---') self.assertEqual(testUser.email, '*****@*****.**', '---Email ist nicht korrekt!---') self.assertEqual(testUser.is_staff, True, '---Berechtigung ist nicht korrekt!---') self.assertEqual(testUser.check_password('user'), True, '---Passwort ist nicht korrekt!---') # Name des Benutzer ändern und Änderung prüfen testUser.username='******' testUser.save() self.assertEqual(testUser.username, 'benutzer', '---Benutzername ist nicht korrekt!---') # Email des Benutzer ändern und Änderung prüfen testUser.email='*****@*****.**' testUser.save() self.assertEqual(testUser.email, '*****@*****.**', '---Email ist nicht korrekt!---') # Berechtigung des Benutzer ändern und Änderung prüfen testUser.is_staff=False testUser.save() self.assertEqual(testUser.is_staff, False, '---Berechtigung ist nicht korrekt!---') # Passwort des Benutzer ändern und Änderung prüfen testUser.set_password('benutzer') testUser.save() self.assertEqual(testUser.check_password('benutzer'), True, '---Berechtigung ist nicht korrekt!---') # Testen ob ein Benutzer mit dem gleichen Namen erstellt werden kann doppelterNameUser=TeamhubUser(username='******', email='*****@*****.**', is_staff=True) self.assertRaisesRegexp(IntegrityError, 'column username is not unique', doppelterNameUser.save) self.assertEqual(TeamhubUser.objects.get(username='******'), testUser, '---Benutzer mit gleichen Namen wurde erstellt!---') #Testen ob für Benutzername nur Buchstaben, Zahlen, sowie die Zeichen @-+_ erlaubt sind #testUser.username='******' #self.assertRaisesRegexp(IntegrityError, c.FEHLER_TEAMHUBUSER_USERNAME_INVALID, testUser.save) #<-------------------------------------------------------------------- #-------------------Projekt-------------------------------------------> #Vorbereitung andereruser=TeamhubUser(username='******', email='*****@*****.**', is_staff=True) andereruser.save() # Prüfen ob die Projekttabelle in der Datenbank leer ist: self.assertEqual(Projekt.objects.all().count(), 0, '---Projekttabelle ist nicht leer!---') #Ein gültiges Projekt wird erstellt testProjekt = Projekt(besitzer=testUser, name='testProjekt', beschreibung='Test,test,test!!!', status=c.PROJEKT_STATUS_OP) testProjekt.save() #Testen ob ein Projekt erstellt wurde self.assertEqual(Projekt.objects.all().count(), 1, '---Projekttabelle ist nicht korrekt!---') #Testen ob alle Daten korrekt gespeichert wurden testprojekt = Projekt.objects.get(pk=1) self.assertEqual(testprojekt.besitzer, testUser, '---Projektbesitzer ist nicht korrekt!---') self.assertEqual(testprojekt.name, 'testProjekt', '---Projektname ist nicht korrekt!---') self.assertEqual(testprojekt.beschreibung, 'Test,test,test!!!', '---Projektbeschreibung ist nicht korrekt!---') self.assertEqual(testprojekt.status, c.PROJEKT_STATUS_OP, '---Projektstatus ist nicht korrekt!---') # Name des Projekts ändern und Änderung prüfen testprojekt.name='andesresTestProjekt' testprojekt.save() self.assertEqual(testprojekt.name, 'andesresTestProjekt', '---Projektname ist nicht korrekt!---') # Beschreibung des Projekts ändern und Änderung prüfen testprojekt.beschreibung='andesre Beschreibung' testprojekt.save() self.assertEqual(testprojekt.beschreibung, 'andesre Beschreibung', '---Projektbeschreibung ist nicht korrekt!---') # Status des Projekts ändern und Änderung prüfen testprojekt.status=c.PROJEKT_STATUS_CL testprojekt.save() self.assertEqual(testprojekt.status, c.PROJEKT_STATUS_CL, '---Projektstatus ist nicht korrekt!---') # Besitzer des Projekts ändern und Änderung prüfen (Nur auf der Modelebene möglich, im laufenden Betrieb hat der Benutzer kein Zugriff auf diese Möglichkeit) testprojekt.besitzer=andereruser testprojekt.save() self.assertEqual(testprojekt.besitzer, andereruser, '---Projektbesitzer ist nicht korrekt!---') # Prüfen ob Projektname doppelt sein kann (darf nicht vorkommen) doppelterNameProjekt = Projekt(besitzer=testUser, name='andesresTestProjekt', beschreibung='Test,test,test!!!', status=c.PROJEKT_STATUS_OP) self.assertRaisesRegexp(IntegrityError, 'column name is not unique', doppelterNameProjekt.save) self.assertEqual(Projekt.objects.get(name='andesresTestProjekt'), testprojekt, '---Projekt mit gleichen Namen wurde erstellt!---') #<-------------------------------------------------------------------- #-------------------Aufgabe-------------------------------------------> #Vorbereitung testprojekt.status=c.PROJEKT_STATUS_OP testprojekt.save() anderesProjekt = Projekt(besitzer=testUser, name='anderesProjekt', beschreibung='Test,test,test!!!', status=c.PROJEKT_STATUS_OP) anderesProjekt.save() fDatum = timezone.make_aware(datetime.datetime.now() + datetime.timedelta(days=1), timezone.get_default_timezone()) #Ein Datum-Objekt erstellen(Morgen) fDatum1 = timezone.make_aware(datetime.datetime.now() + datetime.timedelta(days=2), timezone.get_default_timezone()) #Ein Datum-Objekt erstellen(Übermorgen) # Prüfen ob die Aufgabentabelle in der Datenbank leer ist self.assertEqual(Aufgabe.objects.all().count(), 0, '---Aufgabentabelle ist nicht leer!---') #Eine gültige Aufgabe wird erstellt testaufgabe = Aufgabe(ersteller=testUser, bearbeiter=testUser, projekt=testprojekt, titel="Testaufgabe", beschreibung="Beschreibung der Testaufgabe", faelligkeitsDatum=fDatum) testaufgabe.save() #Testen ob alle Daten korrekt gespeichert wurden testaufgabe = Aufgabe.objects.get(pk=1) self.assertEqual(testaufgabe.titel, 'Testaufgabe', '---Aufgabentitel ist nicht korrekt!---') self.assertEqual(testaufgabe.bearbeiter, testUser, '---Bearbeiter der Aufgabe ist nicht korrekt!---') self.assertEqual(testaufgabe.ersteller, testUser, '---Ersteller der Aufgabe ist nicht korrekt!---') self.assertEqual(testaufgabe.prioritaet, c.PRIORITAET_ME, '---Aufgabenpriorität ist nicht korrekt!---') self.assertEqual(testaufgabe.projekt, testprojekt, '---Projekt der Aufgabe ist nicht korrekt!---') self.assertEqual(testaufgabe.beschreibung, 'Beschreibung der Testaufgabe', '---Aufgabenbeschreibung ist nicht korrekt!---') self.assertEqual(testaufgabe.faelligkeitsDatum , fDatum, '---Fälligkeitsdatum der Aufgabe ist nicht korrekt!---') self.assertEqual(testaufgabe.status, c.AUFGABE_STATUS_IP, '---Aufgabenstatus ist nicht korrekt!---') # Titel der Aufgabe ändern und Änderung prüfen testaufgabe.titel='anderer Titel' testaufgabe.save() self.assertEqual(testaufgabe.titel, 'anderer Titel', '---Aufgabentitel ist nicht korrekt!---') # Beschreibung der Aufgabe ändern und Änderung prüfen testaufgabe.beschreibung='andere Beschreibung' testaufgabe.save() self.assertEqual(testaufgabe.beschreibung, 'andere Beschreibung', '---Aufgabenbeschreibung ist nicht korrekt!---') # Priorität der Aufgabe ändern und Änderung prüfen testaufgabe.prioritaet=c.PRIORITAET_HI testaufgabe.save() self.assertEqual(testaufgabe.prioritaet, c.PRIORITAET_HI, '---Aufgabenpriorität ist nicht korrekt!---') testaufgabe.prioritaet=c.PRIORITAET_LO testaufgabe.save() self.assertEqual(testaufgabe.prioritaet, c.PRIORITAET_LO, '---Aufgabenpriorität ist nicht korrekt!---') # Bearbeiter der Aufgabe ändern und Änderung prüfen testaufgabe.bearbeiter=andereruser testaufgabe.save() self.assertEqual(testaufgabe.bearbeiter, andereruser, '---Bearbeiter der Aufgabe ist nicht korrekt!---') # Fälligkeitsdatum der Aufgabe ändern und Änderung prüfen testaufgabe.faelligkeitsDatum=fDatum1 testaufgabe.save() self.assertEqual(testaufgabe.faelligkeitsDatum , fDatum1, '---Fälligkeitsdatum der Aufgabe ist nicht korrekt!---') # Ersteller der Aufgabe ändern und Änderung prüfen (Nur auf der Modelebene möglich, im laufenden Betrieb hat der Benutzer kein Zugriff auf diese Möglichkeit) testaufgabe.ersteller=andereruser testaufgabe.save() self.assertEqual(testaufgabe.ersteller, andereruser, '---Ersteller der Aufgabe ist nicht korrekt!---') # Projekt der Aufgabe ändern und Änderung prüfen testaufgabe.projekt=anderesProjekt testaufgabe.save() self.assertEqual(testaufgabe.projekt, anderesProjekt, '---Projekt der Aufgabe ist nicht korrekt!---') #Übergänge zwischen verschiedenen Status testen self.assertEqual(testaufgabe.status, c.AUFGABE_STATUS_IP, '---Falscher Status---') self.assertEqual(testaufgabe.getStati(), dict(AUFGABE_STATUS[2:]), '---Die möglichen Zustände sind nicht korrekt!---') testaufgabe.bearbeiter = None testaufgabe.save() self.assertEqual(testaufgabe.status, c.AUFGABE_STATUS_OP, '---Falscher Status---') self.assertEqual(testaufgabe.getStati(), dict(AUFGABE_STATUS[3:]), '---Die möglichen Zustände sind nicht korrekt!---') testaufgabe.bearbeiter = testUser testaufgabe.save() self.assertEqual(testaufgabe.status, c.AUFGABE_STATUS_IP, '---Falscher Status---') testaufgabe.status = c.AUFGABE_STATUS_PA testaufgabe.save() self.assertEqual(testaufgabe.status, c.AUFGABE_STATUS_PA, '---Falscher Status---') self.assertEqual(testaufgabe.getStati(), dict(AUFGABE_STATUS[1:2]), '---Die möglichen Zustände sind nicht korrekt!---') testaufgabe.status = c.AUFGABE_STATUS_CL testaufgabe.save() self.assertEqual(testaufgabe.status, c.AUFGABE_STATUS_CL, '---Falscher Status---') self.assertEqual(testaufgabe.getStati(), dict(AUFGABE_STATUS[1:2]), '---Die möglichen Zustände sind nicht korrekt!---') #Testen, ob eine Aufgabe mit dem gleichen Namen erstellt werden kann aufgabe1 = Aufgabe(ersteller=testUser, bearbeiter=testUser, projekt=anderesProjekt, titel='anderer Titel', beschreibung='Beschreibung der Testaufgabe', faelligkeitsDatum=fDatum) self.assertRaisesRegexp(IntegrityError, c.FEHLER_AUFGABE_NAME, aufgabe1.save) self.assertEqual(Aufgabe.objects.all().count(), 1, '---Eine Aufgabe mit gleichen Namen wurde erstellt!---') #Testen, ob eine Aufgabe mit einem Faelligkeitsdatum, das in Vergangenheit liegt, erstellt werden kann aufgabe1=Aufgabe(ersteller=testUser, projekt=anderesProjekt, titel='Aufgabe zum Testen', beschreibung='Beschreibung der Testaufgabe', faelligkeitsDatum=fDatum) aufgabe1.faelligkeitsDatum = timezone.make_aware(datetime.datetime.now() - datetime.timedelta(days=1), timezone.get_default_timezone()) self.assertRaisesRegexp(IntegrityError, c.FEHLER_AUFGABE_DATUM, aufgabe1.save) self.assertEqual(Aufgabe.objects.all().count(), 1, '---Eine Aufgabe mit falschen Datum wurde erstellt!---') #Testen, ob eine Aufgabe in einem Projekt, das den Status "Geschlossen" hat, erstellt werden kann testprojekt.status = c.PROJEKT_STATUS_CL testprojekt.save() aufgabe1 = Aufgabe(ersteller=testUser, bearbeiter=testUser, projekt=testprojekt, titel='Aufgabe zum Testen', beschreibung='Beschreibung der Testaufgabe', faelligkeitsDatum=fDatum) self.assertRaisesRegexp(IntegrityError, c.FEHLER_AUFGABE_PROJEKTSTATUS, aufgabe1.save) self.assertEqual(Aufgabe.objects.all().count(), 1, '---Eine Aufgabe im geschlossenen Projekt wurde erstellt!---')