def test_1UnterbereichBezeichnungAendern(self): """ This is a "positive" Systemtest as Blackboxtest. Here we want to check if you can change information of a "unterbereich" as Admin. We change the name of the "unterbereich" by appending a "_1". """ # Login as Admin loginAsLukasAdmin(self) # Hinzufügen eines Unterbereichs organisationseinheit = "Referat Finanzen" unterbereich = "test_unterbereich" createUnterbereich(self, organisationseinheit, unterbereich) # ändern der Bezeichnung für test_unterbereich suffix = "_1" text = unterbereich + " (" + organisationseinheit + ")" self.browser.find_element_by_xpath("//a[contains(text(), '%s')]" % text).click() self.browser.find_element_by_xpath( "//input[@id='id_bezeichnung']").send_keys(suffix) self.browser.find_element_by_xpath("//input[@name='_save']").click() # Überprüfen ob alles geklappt hat text = unterbereich + suffix + " (" + organisationseinheit + ")" self.assertTrue( self.browser.find_element_by_xpath("//li[@class='success']")) self.assertTrue( self.browser.find_element_by_xpath("//a[contains(text(), '%s')]" % text)) pass
def test_1AmtWorkloadAendern(self): """ This is a "positive" Systemtest as Blackboxtest. Here we want to check if you can change the workload of a funktion as Admin. """ # Login as Admin loginAsLukasAdmin(self) # Hinzufügen eines Amtes funktion = "test_amt" organisationseinheit = "Referat Finanzen" unterbereich = "Bereich Buchhaltung" createAmt(self, organisationseinheit, unterbereich, funktion) # ändern des Referates, dem der Bereich zugeordnet wurde workload = "5" text = unterbereich + " (" + organisationseinheit + ")" self.browser.find_element_by_xpath("//a[contains(text(), '%s')]" % text).click() self.browser.find_element_by_xpath( "//tr/td[@class='original']/p[contains(text(), '%s')]/../../td[@class='field-workload']/input" % (funktion + " " + text)).send_keys(workload) self.browser.find_element_by_xpath("//input[@name='_save']").click() # Überprüfen ob alles geklappt hat """ Überprüfung ob Workload geändert wurde TODO: Testen ob Workload tatsächlich geändert wurde """ self.assertTrue( self.browser.find_element_by_xpath( "//li[@class='success']/a[contains(text(), '%s')]" % text)) pass
def test_1AmtBezeichnungAendern(self): """ This is a "positive" Systemtest as Blackboxtest. Here we want to check if you can change information of a funktion as Admin. We change the name of the funktion by appending a "_1". """ # Login as Admin loginAsLukasAdmin(self) # Hinzufügen eines Amtes funktion = "test_amt" organisationseinheit = "Referat Finanzen" unterbereich = "Bereich Buchhaltung" createAmt(self, organisationseinheit, unterbereich, funktion) # ändern des Referates, dem der Bereich zugeordnet wurde suffix = "_1" text = unterbereich + " (" + organisationseinheit + ")" self.browser.find_element_by_xpath("//a[contains(text(), '%s')]" % text).click() self.browser.find_element_by_xpath( "//tr/td[@class='original']/p[contains(text(), '%s')]/../../td[@class='field-bezeichnung']/input" % (funktion + " " + text)).send_keys(suffix) self.browser.find_element_by_xpath("//input[@name='_save']").click() """ Überprüfung ob Funktion hinzugefügt wurde TODO: Testen ob das Amt jetzt wirklich existiert """ self.assertTrue( self.browser.find_element_by_xpath( "//li[@class='success']/a[contains(text(), '%s')]" % text)) pass
def test_1OrganisationseinheitBezeichnungAendern(self): """ This is a "positive" Systemtest as Blackboxtest. Here we want to check if you can change information of a "organisationseinheit" as Admin. We change the name of the "organisationseinheit" by appending a "_1". """ # Login as Admin loginAsLukasAdmin(self) # Hinzufügen eines organisationseinheit organisationseinheit = "test_referat" createReferat(self, organisationseinheit) # ändern der Bezeichnung für test_referat suffix = "_1" self.browser.find_element_by_xpath("//a[contains(text(), '%s')]" % organisationseinheit).click() self.browser.find_element_by_xpath( "//input[@id='id_bezeichnung']").send_keys(suffix) self.browser.find_element_by_xpath("//input[@name='_save']").click() # Überprüfen ob alles geklappt hat self.assertTrue( self.browser.find_element_by_xpath("//li[@class='success']")) self.assertTrue( self.browser.find_element_by_xpath( "//a[contains(text(), '%s')]" % (organisationseinheit + suffix))) pass
def test_1MitgliedEntfernen_AsSuperuser(self): """ This is a "positive" Systemtest as Blackboxtest. Here we want to check if you can delete a new Member as Admin and if the Member is deleted correctly in the table. Steps: * login as Admin * add a Member * delete Member """ # Login as Admin loginAsLukasAdmin(self) addMitglied(self) """ Löschen eines Mitglieds """ self.browser.find_element_by_xpath( "//form[@method='post']/label/span").click() self.browser.find_element_by_xpath("//a[@id='delbtnl']").click() self.browser.find_element_by_xpath( "//a[@id='delmitgliederconfirm']").click() """ Überprüfung ob Mitglied gelöscht """ text = self.browser.find_element_by_xpath("//div[@id='notification']") self.assertTrue(text) pass
def test_login_superuser(self): """ This is a "positive" Systemtest as Blackboxtest. Here we want to check if you can login as Admin and all sites are displayed correctly. """ # login loginAsLukasAdmin(self) """ TODO: Check ob es ein Admin ist. """ pass
def test_1MitgliedHinzufügen_AsSuperuser(self): """ This is a "positive" Systemtest as Blackboxtest. Here we want to check if you can add a new Member as Admin and if the Member is displayed correctly in the table. Steps: * login as Admin * add a Member """ # Login as Admin loginAsLukasAdmin(self) addMitglied(self) pass
def test_1OrganisationseinheitHinzufuegen_AsSuperuser(self): """ This is a "positive" Systemtest as Blackboxtest. Here we want to check if you can add a "Organisationseinheit" as Admin. Steps: * login as Admin * add a "Organisationseinheit" """ # Login as Admin loginAsLukasAdmin(self) # Hinzufügen eines organisationseinheit organisationseinheit = "test_referat" createReferat(self, organisationseinheit) pass
def test_1UnterbereichHinzufuegen_AsSuperuser(self): """ This is a "positive" Systemtest as Blackboxtest. Here we want to check if you can add a "unterbereich" as Admin. Steps: * login as Admin * add a "unterbereich" """ # Login as Admin loginAsLukasAdmin(self) # Hinzufügen eines Unterbereichs organisationseinheit = "Referat Finanzen" unterbereich = "test_unterbereich" createUnterbereich(self, organisationseinheit, unterbereich) pass
def test_1AmtReferatAendern(self): """ This is a "positive" Systemtest as Blackboxtest. Here we want to check if you can change the "organisationseinheit" of a funktion as Admin. """ # Login as Admin loginAsLukasAdmin(self) # Hinzufügen eines organisationseinheit organisationseinheit = "test_referat" createReferat(self, organisationseinheit) self.browser.find_element_by_xpath("//a[@href='/']").click() # Hinzufügen eines Unterbereichs unterbereich = "test_unterbereich" createUnterbereich(self, organisationseinheit, unterbereich) self.browser.find_element_by_xpath("//a[@href='/']").click() # Hinzufügen eines Amtes funktion = "test_amt" organisationseinheit2 = "Referat Finanzen" createAmt(self, organisationseinheit, unterbereich, funktion) # ändern des Referates, dem der Bereich zugeordnet wurde workload = "5" text = unterbereich + " (" + organisationseinheit + ")" self.browser.find_element_by_xpath("//a[contains(text(), '%s')]" % text).click() select_referat = Select( self.browser.find_element_by_xpath( "//select[@id='id_organisationseinheit']")) select_referat.select_by_visible_text(organisationseinheit2) self.browser.find_element_by_xpath("//input[@name='_save']").click() # Überprüfen ob alles geklappt hat """ Überprüfung ob Funktion verschoben wurde TODO: Testen ob das Amt jetzt wirklich verschoben ist """ self.assertTrue( self.browser.find_element_by_xpath( "//li[@class='success']/a[contains(text(), '%s')]" % (unterbereich + " (" + organisationseinheit2 + ")"))) pass
def test_1FunktionHinzufuegen_AsSuperuser(self): """ This is a "positive" Systemtest as Blackboxtest. Here we want to check if you can add a funktion as Admin. Steps: * login as Admin * add a funktion """ # Login as Admin loginAsLukasAdmin(self) # Hinzufügen eines Amtes funktion = "test_amt" organisationseinheit = "Referat Finanzen" unterbereich = "Bereich Buchhaltung" createAmt(self, organisationseinheit, unterbereich, funktion) pass
def test_1AemtEntfernen_AsSuperuser(self): """ This is a "positive" Systemtest as Blackboxtest. Here we want to check if you can delete a funktion as Admin. Steps: * login as Admin * add a funktion * delete the funktion """ # Login as Admin loginAsLukasAdmin(self) # Hinzufügen eines Amtes funktion = "test_amt" organisationseinheit = "Referat Finanzen" unterbereich = "Bereich Buchhaltung" createAmt(self, organisationseinheit, unterbereich, funktion) # Entfernen eines Amts unterbereich = unterbereich + " (" + organisationseinheit + ")" self.browser.find_element_by_xpath("//a[contains(text(), '%s')]" % unterbereich).click() self.browser.find_element_by_xpath( "//tr/td[@class='original']/p[contains(text(), '%s')]/../../td[@class='delete']/input" % (funktion + " " + unterbereich)).click() self.browser.find_element_by_xpath("//input[@name='_save']").click() """ Überprüfung ob Funktion entfernt wurde TODO: Testen ob das Amt jetzt wirklich nicht mehr da ist """ self.assertTrue( self.browser.find_element_by_xpath( "//li[@class='success']/a[contains(text(), '%s')]" % unterbereich)) pass
def test_1UnterbereichEntfernen_AsSuperuser(self): """ This is a "positive" Systemtest as Blackboxtest. Here we want to check if you can delete a "unterbereich" as Admin. Steps: * login as Admin * add a "unterbereich" * delete the "unterbereich" """ # Login as Admin loginAsLukasAdmin(self) # Hinzufügen eines Unterbereichs organisationseinheit = "Referat Finanzen" unterbereich = "test_unterbereich" createUnterbereich(self, organisationseinheit, unterbereich) # Entfernen eines unterbereiches self.browser.find_element_by_xpath("//a[contains(text(), '%s')]" % unterbereich).click() self.browser.find_element_by_xpath("//a[@class='deletelink']").click() self.browser.find_element_by_xpath( "//div/input[@type='submit']").click() # Überprüfen ob alles geklappt hat self.assertTrue( self.browser.find_element_by_xpath("//li[@class='success']")) tmpbool = True try: self.browser.find_element_by_xpath("//a[contains(text(), '%s')]" % unterbereich) except BaseException: tmpbool = False self.assertFalse(tmpbool) pass
def test_1MitgliedAendern_AsSuperuser(self): """ This is a "positive" Systemtest as Blackboxtest. Here we want to check if you can change information of a Member as Admin and if the Member is changed correctly in the table. Steps: * login as Admin * add a Member * change Member Data * check if everything is correct displayed """ # Login as Admin loginAsLukasAdmin(self) addMitglied(self) """ Auswählen eines Mitglieds (Stift) """ self.browser.find_element_by_xpath("//tbody/tr/td/a").click() """ Verändern von Feldern """ self.browser.find_element_by_xpath( "//input[@id='vorname']").send_keys('_1') self.browser.find_element_by_xpath( "//input[@id='nachname']").send_keys('_1') self.browser.find_element_by_xpath("//a[@id='save_button']").click() self.assertEqual( self.browser.find_element_by_xpath("//tr[@class='mitglied']/td[contains(text(), 'Hans_1 Peter_1')]").text, "Hans_1 Peter_1", msg="Hans Peter wurde nicht geändert") pass
def test_1UnterbereichReferatAendern(self): """ This is a "positive" Systemtest as Blackboxtest. Here we want to check if you can change the "organisationseinheit" of a "unterbereich" as Admin. """ # Login as Admin loginAsLukasAdmin(self) # Hinzufügen eines organisationseinheit referat2 = "test_referat" createReferat(self, referat2) self.browser.find_element_by_xpath("//a[@href='/']").click() # Hinzufügen eines Unterbereichs organisationseinheit = "Referat Finanzen" unterbereich = "test_unterbereich" createUnterbereich(self, organisationseinheit, unterbereich) # ändern des Referates, dem der Bereich zugeordnet wurde text = unterbereich + " (" + organisationseinheit + ")" self.browser.find_element_by_xpath("//a[contains(text(), '%s')]" % text).click() select_referat = Select( self.browser.find_element_by_xpath( "//select[@id='id_organisationseinheit']")) select_referat.select_by_visible_text(referat2) self.browser.find_element_by_xpath("//input[@name='_save']").click() # Überprüfen ob alles geklappt hat text = unterbereich + " (" + referat2 + ")" self.assertTrue( self.browser.find_element_by_xpath("//li[@class='success']")) self.assertTrue( self.browser.find_element_by_xpath("//a[contains(text(), '%s')]" % text)) pass
def test_50MitgliederHinzufügen_AsSuperuser_lookAsUser(self): """ This is a complex "positive" Systemtest as Blackboxtest. Here we want to check if you can add a multiple new Members (50) as Admin and if the Member is displayed correctly in the table. We also want to check if the Pagination is working correctly. Steps: * login as Admin * add a Member (as loop) * check Pagination """ # Login as Admin loginAsLukasAdmin(self) # Hinzufügen eines Amtes funktion = "test_amt" organisationseinheit = "Referat Finanzen" unterbereich = "Bereich Buchhaltung" createAmt(self, organisationseinheit, unterbereich, funktion) self.browser.find_element_by_xpath("//a[@href='/']").click() for value in range(50): # print(f"Mitglied {value} wird hinzugefügt") try: addMitgliedWithParameters(self, f"Max_{value}", "Mustermann", "Musti") self.browser.find_element_by_xpath( "//ul[@class='pagination']/li/a[contains(text(), '1')]" ).click() except: self.assertTrue(False, msg=f"Mitglied {value} wurde übersprungen") pass pass # Test Mitglieder Pagination Seiten self.assertTrue( self.browser.find_element_by_xpath( "//ul[@class='pagination']/li/a[contains(text(), '1')]")) self.assertTrue( self.browser.find_element_by_xpath( "//ul[@class='pagination']/li/a[contains(text(), '2')]")) self.assertTrue( self.browser.find_element_by_xpath( "//ul[@class='pagination']/li/a[contains(text(), '3')]")) self.assertTrue( self.browser.find_element_by_xpath( "//ul[@class='pagination']/li/a[contains(text(), '4')]")) """ Logout and login as User """ self.browser.find_element_by_xpath("//li/a[@href='/logout']").click() loginAsLukasUser(self) # Test Mitglieder Pagination Seiten self.assertTrue( self.browser.find_element_by_xpath( "//ul[@class='pagination']/li/a[contains(text(), '1')]")) self.assertTrue( self.browser.find_element_by_xpath( "//ul[@class='pagination']/li/a[contains(text(), '2')]")) self.assertTrue( self.browser.find_element_by_xpath( "//ul[@class='pagination']/li/a[contains(text(), '3')]")) self.assertTrue( self.browser.find_element_by_xpath( "//ul[@class='pagination']/li/a[contains(text(), '4')]")) pass
def test_ReferatUnterbereichAmtHinzufuegen_AsSuperuser(self): """ This is a complex "positive" Systemtest as Blackboxtest. Here we want to check if you can add a organisationseinheit, unterbereich and funktion as Admin. We also check if we can add a new Member with the new data and if everything is displayed correctly in "/aemter/". Steps: * login as Admin * add a "organisationseinheit" * add a "unterbereich" * add a funktion * create a Member * navigate to aemteruebersicht "/aemter/" """ # Login as Admin loginAsLukasAdmin(self) organisationseinheit = "test_referat" unterbereich = "test_unterbereich" funktion = "test_amt" """ Erstellen von allen """ createReferat(self, organisationseinheit) self.browser.find_element_by_xpath("//a[@href='/']").click() createUnterbereich(self, organisationseinheit, unterbereich) self.browser.find_element_by_xpath("//a[@href='/']").click() createAmt(self, organisationseinheit, unterbereich, funktion) self.browser.find_element_by_xpath("//a[@href='/']").click() """ Hinzufügen eines Mitglieds mit den Parametern """ # navigieren zu Mitglied hinzufügen self.browser.find_element_by_xpath( "//a[@href='/mitglieder/erstellen']").click() # auswahl des Referates, Unterbereices, Amts self.browser.find_element_by_xpath( "//div[@id='div_selectreferat1']/div/input").click() self.browser.find_element_by_xpath( "//span[text()='%s']" % organisationseinheit).click() self.browser.find_element_by_xpath( "//div[@id='div_selectbereich1']/div/div/input").click() self.browser.find_element_by_xpath( "//span[text()='%s']" % unterbereich).click() self.browser.find_element_by_xpath( "//div[@id='div_selectamt1']/div/div/input").click() self.browser.find_element_by_xpath("//span[text()='%s']" % funktion).click() # weitere Daten Hinzufügen self.browser.find_element_by_name('vorname').send_keys('Hans') self.browser.find_element_by_name('nachname').send_keys('Peter') self.browser.find_element_by_name('spitzname').send_keys('Hansi') self.browser.find_element_by_name( 'email1').send_keys('*****@*****.**') self.browser.find_element_by_name( 'strasse').send_keys('Straße der Freiheit') self.browser.find_element_by_name('hausnr').send_keys('24') self.browser.find_element_by_name('plz').send_keys('01561') self.browser.find_element_by_name('ort').send_keys('Ebersbach') self.browser.find_element_by_name( 'telefon_mobil').send_keys('0362594833') # Speichern self.browser.find_element_by_id('save_button').click() self.assertEqual(self.browser.current_url, self.live_server_url + reverse('mitglieder:homepage'), msg="Weiterleitung nicht erfolgt") self.assertEqual( self.browser.find_element_by_xpath("//tr[@class='mitglied']/td[contains(text(), 'Hans Peter')]").text, "Hans Peter", msg="Hans Peter wurde nicht angelegt") searchstring = funktion + " " + unterbereich + " (" + organisationseinheit + ")" self.assertEqual( self.browser.find_element_by_xpath( "//tr[@class='mitglied']/td/ul/li[contains(text(), '%s')]" % searchstring).text, searchstring, msg="Funktion wurde nicht richtig zugewiesen") """ Schauen in der Ämter Übersicht ob alles angezeigt wird """ # navigieren zur Ämterübersicht self.browser.find_element_by_xpath("//a[@href='/aemter']").click() # zu seite 3 self.browser.find_element_by_xpath("//a[@href='?page=3']").click() # öffnen der collabseables searchstring = organisationseinheit self.browser.find_element_by_xpath( "//div[text()='%s']" % searchstring).click() searchstring = unterbereich self.browser.find_element_by_xpath( "//div[text()='%s']" % searchstring).click() # überprüfen ob Funktion da ist self.assertEqual( self.browser.find_element_by_xpath( "//tr/td[contains(text(), '%s')]" % funktion).text, funktion, msg="Funktion ist nicht in Übersicht Ämter vorhanden") """ TODO: Schauen ob Person richtig einem Funktion zugeordnet wurde self.assertEqual(self.browser.find_element_by_xpath("//tr/td[contains(text(), 'Hans Peter\n')]").text, "Hans Peter", msg="Hans Peter wurde nicht richtig dem Funktion hinzugefügt") """ pass