Пример #1
0
    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!---')
Пример #2
0
    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!---')