예제 #1
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)
예제 #2
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)
    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)
    def test_change_verhaeltnis(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"

        fill_element_by_id(driver, 'abrechnungsverhaeltnis', '70')
        driver.find_element_by_id('abrechnung_aktualisieren').click()

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

        assert content_of(driver, 'ausgabe_partner') == "100.00"
        assert content_of(driver, 'ausgabe_partner_soll') == "30.00"
        assert content_of(driver, 'ausgabe_partner_diff') == "70.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.test_change_veraeltnis_abrechnung
        close_driver(driver)
예제 #5
0
    def _define_kategorie(self, driver):
        kategorie_name = 'testkategorie'
        define_kategorie(driver, kategorie_name)

        self._look_for_kategorie_in_auswahl(
            driver, kategorie_name, 'http://localhost:5000/addausgabe/')
        self._look_for_kategorie_in_auswahl(
            driver, kategorie_name, 'http://localhost:5000/addeinnahme/')
        self._look_for_kategorie_in_auswahl(
            driver, kategorie_name, 'http://localhost:5000/adddauerauftrag/')
예제 #6
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)
예제 #7
0
    def teste_vierteljaehrlich(self, get_driver, close_driver):
        driver = get_driver()
        enter_test_mode(driver)
        define_kategorie(driver, '2test_kategorie')
        self._add_dauerauftrag(driver,
                               '2010-01-31',
                               '2011-08-02',
                               '2name',
                               '2test_kategorie',
                               2,
                               'Ausgabe',
                               rhythmus='vierteljaehrlich')

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

        open_table_button = driver.find_element_by_id('open_2010.1')
        open_table_button.click()

        assert driver.find_element_by_id('item_0_name').get_attribute(
            'innerHTML') == '2name'
        assert driver.find_element_by_id('item_0_kategorie').get_attribute(
            'innerHTML') == '2test_kategorie'
        assert driver.find_element_by_id('item_0_datum').get_attribute(
            'innerHTML') == '31.01.2010'
        assert driver.find_element_by_id('item_0_wert').get_attribute(
            'innerHTML') == '-2,00'

        open_table_button = driver.find_element_by_id('open_2010.4')
        open_table_button.click()

        assert driver.find_element_by_id('item_1_name').get_attribute(
            'innerHTML') == '2name'
        assert driver.find_element_by_id('item_1_kategorie').get_attribute(
            'innerHTML') == '2test_kategorie'
        assert driver.find_element_by_id('item_1_datum').get_attribute(
            'innerHTML') == '30.04.2010'
        assert driver.find_element_by_id('item_1_wert').get_attribute(
            'innerHTML') == '-2,00'

        open_table_button = driver.find_element_by_id('open_2010.7')
        open_table_button.click()

        assert driver.find_element_by_id('item_2_name').get_attribute(
            'innerHTML') == '2name'
        assert driver.find_element_by_id('item_2_kategorie').get_attribute(
            'innerHTML') == '2test_kategorie'
        assert driver.find_element_by_id('item_2_datum').get_attribute(
            'innerHTML') == '31.07.2010'
        assert driver.find_element_by_id('item_2_wert').get_attribute(
            'innerHTML') == '-2,00'

        close_driver(driver)
예제 #8
0
    def teste_uebersicht(self, get_driver, close_driver):
        driver = get_driver()
        enter_test_mode(driver)
        define_kategorie(driver, '0test_kategorie')
        self._add_dauerauftrag(driver, '2010-01-01', '2010-02-02', '0name',
                               '0test_kategorie', '0.5', 'Einnahme')
        define_kategorie(driver, '1test_kategorie')
        self._add_dauerauftrag(driver, '2011-01-01', '2011-02-02', '1name',
                               '1test_kategorie', 1, 'Ausgabe')
        define_kategorie(driver, '2test_kategorie')
        self._add_dauerauftrag(driver, '2012-01-01', '2012-02-02', '2name',
                               '2test_kategorie', 2, 'Ausgabe')
        self._add_dauerauftrag(driver, '2013-01-01', '2013-02-02', '3name',
                               '1test_kategorie', 3, 'Einnahme')

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

        assert driver.find_element_by_id('item_2_id').get_attribute(
            'innerHTML') == '2'
        assert driver.find_element_by_id('item_2_name').get_attribute(
            'innerHTML') == '2name'
        assert driver.find_element_by_id('item_2_kategorie').get_attribute(
            'innerHTML') == '2test_kategorie'
        assert driver.find_element_by_id('item_2_startdatum').get_attribute(
            'innerHTML') == '01.01.2012'
        assert driver.find_element_by_id('item_2_endedatum').get_attribute(
            'innerHTML') == '02.02.2012'
        assert driver.find_element_by_id('item_2_wert').get_attribute(
            'innerHTML') == '-2.00'
        close_driver(driver)
예제 #9
0
    def teste_edit_vorbelegung_einnahme(self, get_driver, close_driver):
        driver = get_driver()
        enter_test_mode(driver)
        define_kategorie(driver, '0test_kategorie')
        self._add_dauerauftrag(driver, '2010-01-01', '2010-02-02', '0name',
                               '0test_kategorie', '0.5', 'Einnahme')
        define_kategorie(driver, '1test_kategorie')
        self._add_dauerauftrag(driver, '2011-01-01', '2011-02-02', '1name',
                               '1test_kategorie', 1, 'Ausgabe')
        define_kategorie(driver, '2test_kategorie')
        self._add_dauerauftrag(driver, '2012-01-01', '2012-02-02', '2name',
                               '2test_kategorie', 2, 'Ausgabe')
        self._add_dauerauftrag(driver, '2013-01-01', '2013-02-02', '3name',
                               '1test_kategorie', 3, 'Einnahme')

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

        edit_button = driver.find_element_by_id('edit_0')
        edit_button.click()

        assert driver.find_element_by_name('name').get_attribute(
            'value') == '0name'
        assert get_selected_option(driver,
                                   'kategorie_auswahl') == '0test_kategorie'
        assert get_selected_option(driver, 'typ_auswahl') == 'Einnahme'
        assert driver.find_element_by_name('startdatum').get_attribute(
            'value') == '2010-01-01'
        assert driver.find_element_by_name('endedatum').get_attribute(
            'value') == '2010-02-02'
        assert driver.find_element_by_name('wert').get_attribute(
            'value') == '0,50'

        close_driver(driver)
예제 #10
0
    def teste_vorbelegung_with_other(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',
                          '0.5', 'Partner')
        define_kategorie(driver, '1test_kategorie')
        self._add_ausgabe(driver, '2011-01-01', '1name', '1test_kategorie', 1,
                          'test')
        define_kategorie(driver, '2test_kategorie')
        self._add_ausgabe(driver, '2012-01-01', '2name', '2test_kategorie', 2,
                          'test')
        self._add_ausgabe(driver, '2013-01-01', '3name', '1test_kategorie', 3,
                          'Partner')

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

        edit_button = driver.find_element_by_id('edit_0')
        edit_button.click()

        assert driver.find_element_by_name('name').get_attribute(
            'value') == '0name'
        assert get_selected_option(driver,
                                   'kategorie_auswahl') == '0test_kategorie'
        assert get_selected_option(driver, 'person_auswahl') == 'Partner'
        assert driver.find_element_by_name('date').get_attribute(
            'value') == '2010-01-01'
        assert driver.find_element_by_name('wert').get_attribute(
            'value') == '0,50'

        close_driver(driver)
예제 #11
0
    def teste_uebersicht(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',
                          '0.5', 'Partner')
        define_kategorie(driver, '1test_kategorie')
        self._add_ausgabe(driver, '2011-01-01', '1name', '1test_kategorie', 1,
                          'test')
        define_kategorie(driver, '2test_kategorie')
        self._add_ausgabe(driver, '2012-01-01', '2name', '2test_kategorie', 2,
                          'test')
        self._add_ausgabe(driver, '2013-01-01', '3name', '1test_kategorie', 3,
                          'Partner')

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

        assert driver.find_element_by_id('item_2_id').get_attribute(
            'innerHTML') == '2'
        assert driver.find_element_by_id('item_2_name').get_attribute(
            'innerHTML') == '2name'
        assert driver.find_element_by_id('item_2_kategorie').get_attribute(
            'innerHTML') == '2test_kategorie'
        assert driver.find_element_by_id('item_2_datum').get_attribute(
            'innerHTML') == '01.01.2012'
        assert driver.find_element_by_id('item_2_wert').get_attribute(
            'innerHTML') == '-2,00'
        assert driver.find_element_by_id('item_2_person').get_attribute(
            'innerHTML') == 'test'

        close_driver(driver)
예제 #12
0
    def teste_edit_vorbelegung(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',
                          '0.5')
        define_kategorie(driver, '1test_kategorie')
        self._add_ausgabe(driver, '2011-01-01', '1name', '1test_kategorie', 1)
        define_kategorie(driver, '2test_kategorie')
        self._add_ausgabe(driver, '2012-01-01', '2name', '2test_kategorie', 2)
        self._add_ausgabe(driver, '2013-01-01', '3name', '1test_kategorie', 3)

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

        assert driver.find_element_by_id('item_2_id').get_attribute(
            'innerHTML') == '2'
        assert driver.find_element_by_id('item_2_name').get_attribute(
            'innerHTML') == '2name'
        assert driver.find_element_by_id('item_2_kategorie').get_attribute(
            'innerHTML') == '2test_kategorie'
        assert driver.find_element_by_id('item_2_datum').get_attribute(
            'innerHTML') == '01.01.2012'
        assert driver.find_element_by_id('item_2_wert').get_attribute(
            'innerHTML') == '-2.00'

        edit_button = driver.find_element_by_id('edit_2')
        edit_button.click()

        assert driver.find_element_by_name('name').get_attribute(
            'value') == '2name'
        assert get_selected_option(driver,
                                   'kategorie_auswahl') == '2test_kategorie'
        assert driver.find_element_by_name('date').get_attribute(
            'value') == '2012-01-01'
        assert driver.find_element_by_name('wert').get_attribute(
            'value') == '2,00'

        close_driver(driver)
    def test_set_limit_and_add_ausgleichsbuchungen_both(
            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')
        define_kategorie(driver, '1test_kategorie')

        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_by_id(driver, 'set_limit_value', '30')

        driver.find_element_by_id('set_self_kategorie').click()
        select_option(driver, 'set_self_kategorie_value', '1test_kategorie')

        driver.find_element_by_id('set_other_kategorie').click()
        fill_element_by_id(driver, 'set_other_kategorie_value',
                           'test ausgleich')

        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()
        assert content_of(driver, 'abrechnung').replace(
            '<br>', '\n') == self.set_limit_abrechnung_ausgleich

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

        assert content_of(driver, 'item_0_id') == '0'
        assert content_of(driver, 'item_0_name') == '0name'
        assert content_of(driver, 'item_0_kategorie') == '0test_kategorie'
        assert content_of(driver, 'item_0_datum') == '01.01.2010'
        assert content_of(driver, 'item_0_wert') == '-50,00'

        assert content_of(driver, 'item_1_id') == '1'
        assert content_of(driver, 'item_1_name') == '1test_kategorie'
        assert content_of(driver, 'item_1_kategorie') == '1test_kategorie'
        assert content_of(driver, 'item_1_datum') == '01.01.2010'
        assert content_of(driver, 'item_1_wert') == '20,00'

        close_driver(driver)