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_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_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