示例#1
0
    def _add_depotwert(self, driver, name, isin):
        driver.get('http://localhost:5000/add_depotwert/')
        fill_element(driver, 'name', name)
        fill_element(driver, 'isin', isin)
        select_option(driver, 'typ_auswahl', 'FOND')

        click_add_button(driver)
    def test_set_limit(self, get_driver, close_driver):
        driver = get_driver()
        enter_test_mode(driver)
        define_kategorie(driver, '0test_kategorie')
        self._add_ausgabe(driver, '2010-01-01', '0name', '0test_kategorie',
                          '100', 'Partner')

        driver.get('http://localhost:5000/gemeinsamabrechnen/')

        assert content_of(driver, 'ausgabe_self') == "0.00"
        assert content_of(driver, 'ausgabe_self_soll') == "50.00"
        assert content_of(driver, 'ausgabe_self_diff') == "-50.00"

        assert content_of(driver, 'ausgabe_partner') == "100.00"
        assert content_of(driver, 'ausgabe_partner_soll') == "50.00"
        assert content_of(driver, 'ausgabe_partner_diff') == "50.00"

        driver.find_element_by_id('set_limit').click()
        select_option(driver, 'set_limit_fuer', 'test')
        fill_element(driver, 'set_limit_value', '30')
        driver.find_element_by_id('abrechnung_aktualisieren').click()

        assert content_of(driver, 'ausgabe_self') == "0.00"
        assert content_of(driver, 'ausgabe_self_soll') == "30.00"
        assert content_of(driver, 'ausgabe_self_diff') == "-30.00"

        assert content_of(driver, 'ausgabe_partner') == "100.00"
        assert content_of(driver, 'ausgabe_partner_soll') == "70.00"
        assert content_of(driver, 'ausgabe_partner_diff') == "30.00"

        driver.find_element_by_id('abrechnen').click()
        print('[', content_of(driver, 'abrechnung').replace('<br>', '\n'), ']')
        assert content_of(driver, 'abrechnung').replace(
            '<br>', '\n') == self.set_limit_abrechnung
        close_driver(driver)
示例#3
0
    def test_with_mapping_to_other_kategorie(self, get_driver, close_driver):
        driver = get_driver()
        enter_test_mode(driver)

        define_kategorie(driver, 'nicht essen')
        driver.get('http://localhost:5000/import/')
        fill_element(driver, 'import', self._data)
        driver.find_element_by_name('btn_import').click()

        assert pagename(driver) == 'Kategorien zuweisen'

        select_option(driver, 'Essen_mapping', 'als nicht essen importieren')

        driver.find_element_by_name('action').click()

        driver.get('http://localhost:5000/uebersicht/')
        open_table_button = driver.find_element_by_id('open_2017.3')
        open_table_button.click()

        assert driver.find_element_by_id('item_0_id').get_attribute('innerHTML') == '0'
        assert driver.find_element_by_id('item_0_name').get_attribute('innerHTML') == 'Edeka'
        assert driver.find_element_by_id('item_0_kategorie').get_attribute('innerHTML') == 'nicht essen'
        assert driver.find_element_by_id('item_0_datum').get_attribute('innerHTML') == '06.03.2017'
        assert driver.find_element_by_id('item_0_wert').get_attribute('innerHTML') == '-10,00'

        close_driver(driver)
示例#4
0
    def test_with_existing_kategorie(self, get_driver, close_driver):
        driver = get_driver()
        enter_test_mode(driver)

        define_kategorie(driver, 'Essen')
        driver.get('http://localhost:5000/import/')
        fill_element(driver, 'import', self._data)
        driver.find_element_by_name('btn_import').click()

        assert pagename(driver) == 'Export / Import'

        driver.get('http://localhost:5000/uebersicht/')
        open_table_button = driver.find_element_by_id('open_2017.3')
        open_table_button.click()

        assert driver.find_element_by_id('item_0_id').get_attribute(
            'innerHTML') == '0'
        assert driver.find_element_by_id('item_0_name').get_attribute(
            'innerHTML') == 'Edeka'
        assert driver.find_element_by_id('item_0_kategorie').get_attribute(
            'innerHTML') == 'Essen'
        assert driver.find_element_by_id('item_0_datum').get_attribute(
            'innerHTML') == '06.03.2017'
        assert driver.find_element_by_id('item_0_wert').get_attribute(
            'innerHTML') == '-10.00'

        close_driver(driver)
示例#5
0
    def test_should_showSuccessMessage(self, get_driver, close_driver):
        driver = get_driver()
        enter_test_mode(driver)

        define_kategorie(driver, 'Essen')
        driver.get('http://localhost:5000/import/')
        fill_element(driver, 'import', self._data)
        driver.find_element_by_name('btn_import').click()

        assert pagename(driver) == 'Export / Import'
        assert driver.find_element_by_id('message-box-content').get_attribute('innerHTML') == '1 Buchung wurde importiert'
        close_driver(driver)
    def teste_change_partnername(self, get_driver, close_driver):
        driver = get_driver()
        enter_test_mode(driver)
        driver.get('http://localhost:5000/addgemeinsam/')
        assert set(get_options(driver,
                               'person_auswahl')) == set(['test', 'Partner'])

        driver.get('http://localhost:5000/configuration/')
        fill_element(driver, 'partnername', 'Olaf')
        driver.find_element_by_id('set_partnername').click()

        driver.get('http://localhost:5000/addgemeinsam/')
        assert set(get_options(driver,
                               'person_auswahl')) == set(['test', 'Olaf'])
        close_driver(driver)
示例#7
0
    def _add_dauerauftrag(self, driver, startdatum, endedatum, name, kategorie, wert, typ):
        driver.get('http://localhost:5000/adddauerauftrag/')
        fill_element(driver, 'startdatum', startdatum)
        fill_element(driver, 'endedatum', endedatum)
        fill_element(driver, 'name', name)
        fill_element(driver, 'wert', wert)
        select_option(driver, 'kategorie_auswahl', kategorie)
        select_option(driver, 'typ_auswahl', typ)

        click_add_button(driver)
示例#8
0
    def test_add_and_delete_connection(self, get_driver, close_driver):
        driver = get_driver()

        user1 = generate_unique_name() + '1'
        user1passwd = 'u1pass'
        user2 = generate_unique_name() + '2'
        user2passwd = 'u2pass'

        # Create user
        self.create_user(driver, user1, user1passwd)
        self.create_user(driver, user2, user2passwd)

        # Create connnection from user1 to user2. Status should be PENDING
        login(driver, user1 + '@s.de', user1passwd)
        fill_element(driver, 'other_person', user2)
        driver.find_element_by_id('add_other_person').send_keys(Keys.ENTER)
        status = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'gemeinschaftsstatus')))
        assert status.get_attribute('innerHTML') == 'Warten auf Partner.'
        driver.get('http://localhost/logout.php')

        # Create connection from user2 to user1, Status should be ACTIVE
        login(driver, user2 + '@s.de', user2passwd)
        fill_element(driver, 'other_person', user1)
        driver.find_element_by_id('add_other_person').send_keys(Keys.ENTER)
        status = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'gemeinschaftsstatus')))
        assert status.get_attribute('innerHTML') == 'Gemeinsschaft bestätigt. Gemeinsame Buchungen aktiv.'
        driver.get('http://localhost/logout.php')
        login(driver, user1 + '@s.de', user1passwd)
        status = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'gemeinschaftsstatus')))
        assert status.get_attribute('innerHTML') == 'Gemeinsschaft bestätigt. Gemeinsame Buchungen aktiv.'

        # Delete connection, status sould be pending
        driver.find_element_by_id('btn_delete_other').send_keys(Keys.ENTER)
        status = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'add_other_person')))
        driver.get('http://localhost/logout.php')
        login(driver, user2 + '@s.de', user2passwd)
        status = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'gemeinschaftsstatus')))
        assert status.get_attribute('innerHTML') == 'Warten auf Partner.'
        driver.get('http://localhost/logout.php')

        close_driver(driver)
示例#9
0
    def _add_orderdauerauftrag(self, driver, startdatum, endedatum, name, depotwert, konto, wert, kauf):
        driver.get('http://localhost:5000/add_orderdauerauftrag/')
        fill_element(driver, 'startdatum', startdatum)
        fill_element(driver, 'endedatum', endedatum)
        fill_element(driver, 'name', name)
        fill_element(driver, 'wert', wert)
        select_option(driver, 'konto_auswahl', konto)
        select_option(driver, 'depotwert_auswahl', depotwert)

        if kauf:
            select_option(driver, 'typ_auswahl', 'Kauf')
        else:
            select_option(driver, 'typ_auswahl', 'Verkauf')

        click_add_button(driver)
示例#10
0
    def _add_ausgabe(self, driver, date, name, kategorie, wert, person):
        driver.get('http://localhost:5000/addgemeinsam/')
        fill_element(driver, 'date', date)
        fill_element(driver, 'name', name)
        fill_element(driver, 'wert', wert)
        select_option(driver, 'kategorie_auswahl', kategorie)
        select_option(driver, 'person_auswahl', person)

        click_add_button(driver)
示例#11
0
    def _add_ausgabe(self, driver):
        driver.get('http://localhost:5000/addausgabe/')
        fill_element(driver, 'date', '17031994')
        fill_element(driver, 'name', 'eine ausgabe')
        fill_element(driver, 'wert', '12,34')
        click_add_button(driver)

        base_table = driver.find_element_by_id('letzte_erfassungen')
        tableRows = base_table.find_elements_by_tag_name('tr')
    def _add_ausgabe(self, driver, date, name, kategorie, wert):
        driver.get('http://localhost:5000/addausgabe/')
        fill_element(driver, 'date', date)
        fill_element(driver, 'name', name)
        fill_element(driver, 'wert', wert)
        select_option(driver, 'kategorie_auswahl', kategorie)

        click_add_button(driver)

        base_table = driver.find_element_by_id('letzte_erfassungen')
        tableRows = base_table.find_elements_by_tag_name('tr')
示例#13
0
    def _add_order(self, driver, datum, name, depotwert, konto, wert, kauf=True):
        driver.get('http://localhost:5000/add_order/')
        fill_element(driver, 'datum', datum)
        fill_element(driver, 'name', name)
        fill_element(driver, 'wert', wert)
        select_option(driver, 'konto_auswahl', konto)
        select_option(driver, 'depotwert_auswahl', depotwert)

        if kauf:
            select_option(driver, 'typ_auswahl', 'Kauf')
        else:
            select_option(driver, 'typ_auswahl', 'Verkauf')

        click_add_button(driver)
示例#14
0
    def _add_sparbuchung(self, driver, datum, name, typ, konto, wert,
                         einzahlung):
        driver.get('http://localhost:5000/add_sparbuchung/')
        fill_element(driver, 'datum', datum)
        fill_element(driver, 'name', name)
        fill_element(driver, 'wert', wert)
        select_option(driver, 'konto_auswahl', konto)
        select_option(driver, 'typ_auswahl', typ)

        if einzahlung:
            select_option(driver, 'eigenschaft_auswahl', 'Einzahlung')
        else:
            select_option(driver, 'eigenschaft_auswahl', 'Auszahlung')

        click_add_button(driver)
示例#15
0
    def create_user(self, driver, new_user_id, passwd):
        new_user_email = new_user_id + '@s.de'

        login(driver, '*****@*****.**', 'admin')

        driver.get('http://localhost/dashboard.php')
        WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'username')))
        fill_element(driver, 'username', new_user_id)
        fill_element(driver, 'email', new_user_email)
        fill_element(driver, 'password', passwd)
        driver.find_element_by_id('btn_add_user').send_keys(Keys.ENTER)

        driver.get('http://localhost/logout.php')

        login(driver, new_user_email, passwd)
        assert driver.title == 'BudgetButlerWeb - Dashboard'
        driver.get('http://localhost/logout.php')
        assert driver.title == 'BudgetButlerWeb - Logout'
示例#16
0
    def _add_depotauszug(self, driver, datum, konto, depotwert, wert):
        driver.get('http://localhost:5000/add_depotauszug/')
        fill_element(driver, 'datum_' + konto, datum)
        fill_element(driver, 'wert_' + konto + '_' + depotwert, wert)

        click_add_button(driver, '_' + konto)
示例#17
0
    def _add_depot(self, driver, name):
        driver.get('http://localhost:5000/add_sparkonto/')
        fill_element(driver, 'kontoname', name)
        select_option(driver, 'typ_auswahl', 'Depot')

        click_add_button(driver)
示例#18
0
    def _add_depotwert(self, driver, name, isin):
        driver.get('http://localhost:5000/add_depotwert/')
        fill_element(driver, 'name', name)
        fill_element(driver, 'isin', isin)

        click_add_button(driver)