def test_edit_depotwert(): set_up() add_depotwert.index(VersionedPostRequest( {'action': 'add', 'name': '1name', 'isin': '1isin' } )) result = add_depotwert.index(VersionedPostRequest( {'action': 'add', 'edit_index': 0, 'name': '2name', 'isin': '2isin' } )) db = persisted_state.database_instance() assert len(db.depotwerte.content) == 1 assert db.depotwerte.content.Name[0] == '2name' assert db.depotwerte.content.ISIN[0] == '2isin' result_element = list(result['letzte_erfassung'])[0] assert result_element['fa'] == 'pencil' assert result_element['Name'] == '2name' assert result_element['Isin'] == '2isin'
def test_edit(): set_up() persisted_state.database_instance().depotauszuege = Depotauszuege() add_depotauszug.index( VersionedPostRequest({ 'action': 'add', 'datum_2demokonto': rfc('01.03.2020'), 'konto': '2demokonto', 'wert_2demokonto_2demoisin': '100,00' })) result = add_depotauszug.index( VersionedPostRequest({ 'action': 'add', 'edit_index': 0, 'datum_2demokonto': rfc('01.03.2020'), 'konto': '2demokonto', 'wert_2demokonto_2demoisin': '200,00' })) db = persisted_state.database_instance() assert len(db.depotauszuege.content) == 1 assert db.depotauszuege.content.Wert[0] == 200 assert db.depotauszuege.content.Konto[0] == '2demokonto' assert db.depotauszuege.content.Depotwert[0] == '2demoisin' assert db.depotauszuege.content.Datum[0] == datum('01.03.2020') result_element = list(result['letzte_erfassung'])[0] assert result_element['fa'] == 'pencil' assert result_element['datum'] == '01.03.2020' assert result_element['konto'] == '2demokonto' assert result_element['depotwert'] == '2demoisin' assert result_element['wert'] == '200,00'
def test_edit_ausgabe(self): self.set_up() addausgabe.handle_request(VersionedPostRequest( {'action':'add', 'date': rfc('1.1.2017'), 'kategorie':'Essen', 'name':'testname', 'wert':'2,00' } )) addausgabe.handle_request(VersionedPostRequest( {'action':'add', 'edit_index':'0', 'date': rfc('5.1.2017'), 'kategorie':'Essen', 'name':'testname', 'wert':'2,50' } )) testdb = database_instance() assert len(testdb.einzelbuchungen.content) == 1 assert testdb.einzelbuchungen.content.Wert[0] == -1 * float('2.50') assert testdb.einzelbuchungen.content.Name[0] == 'testname' assert testdb.einzelbuchungen.content.Kategorie[0] == 'Essen' assert testdb.einzelbuchungen.content.Datum[0] == datum('5.1.2017')
def test_edit_sparkonto(): set_up() add_sparkoto.index( VersionedPostRequest({ 'action': 'add', 'kontotyp': '1typ', 'kontoname': '1name' })) result = add_sparkoto.index( VersionedPostRequest({ 'action': 'add', 'edit_index': 0, 'kontotyp': '2typ', 'kontoname': '2name' })) db = persisted_state.database_instance() assert len(db.sparkontos.content) == 1 assert db.sparkontos.content.Kontoname[0] == '2name' assert db.sparkontos.content.Kontotyp[0] == '2typ' result_element = list(result['letzte_erfassung'])[0] assert result_element['fa'] == 'pencil' assert result_element['Kontotyp'] == '2typ' assert result_element['Kontoname'] == '2name'
def test_edit_dauerauftrag_ausgabe_to_einnahme(self): self.set_up() adddauerauftrag.index( VersionedPostRequest({ 'action': 'add', 'startdatum': rfc('1.1.2017'), 'endedatum': rfc('6.1.2017'), 'kategorie': 'Essen', 'typ': 'Ausgabe', 'rhythmus': 'monatlich', 'name': 'testname', 'wert': '2,00' })) adddauerauftrag.index( VersionedPostRequest({ 'action': 'add', 'edit_index': '0', 'startdatum': rfc('2.1.2017'), 'endedatum': rfc('5.1.2017'), 'kategorie': 'Essen', 'typ': 'Einnahme', 'rhythmus': 'monatlich', 'name': 'testname', 'wert': '2,50' })) assert len(db().dauerauftraege.content) == 1 assert db().dauerauftraege.content.Wert[0] == float('2.50') assert db().dauerauftraege.content.Name[0] == 'testname' assert db().dauerauftraege.content.Kategorie[0] == 'Essen' assert db().dauerauftraege.content.Startdatum[0] == datum('2.1.2017') assert db().dauerauftraege.content.Endedatum[0] == datum('5.1.2017')
def test_edit_ausgabe(self): self.set_up() addeinnahme.index(VersionedPostRequest( {'action':'add', 'date': rfc('1.1.2017'), 'kategorie':'Essen', 'name':'testname', 'wert':'2,00' } )) addeinnahme.index(VersionedPostRequest( {'action':'add', 'edit_index':'0', 'date': rfc('5.1.2017'), 'kategorie':'Essen', 'name':'testname', 'wert':'2,50' } )) assert len(db().einzelbuchungen.content) == 1 assert db().einzelbuchungen.content.Wert[0] == float('2.50') assert db().einzelbuchungen.content.Name[0] == 'testname' assert db().einzelbuchungen.content.Kategorie[0] == 'Essen' assert db().einzelbuchungen.content.Datum[0] == datum('5.1.2017')
def test_edit_ausgabe(self): self.set_up() addgemeinsam.index( VersionedPostRequest({ 'action': 'add', 'date': rfc('1.1.2017'), 'kategorie': 'Essen', 'name': 'testname', 'person': 'testperson', 'wert': '2,00' })) addgemeinsam.index( VersionedPostRequest({ 'action': 'add', 'edit_index': '0', 'date': rfc('5.1.2017'), 'kategorie': 'Essen', 'name': 'testname', 'person': 'testperson2', 'wert': '2,50' })) testdb = persisted_state.database_instance() assert testdb.gemeinsamebuchungen.content.Wert[0] == -1 * float('2.50') assert testdb.gemeinsamebuchungen.content.Name[0] == 'testname' assert testdb.gemeinsamebuchungen.content.Kategorie[0] == 'Essen' assert testdb.gemeinsamebuchungen.content.Datum[0] == datum('5.1.2017') assert testdb.gemeinsamebuchungen.content.Person[0] == 'testperson2'
def test_edit(): set_up() add_orderdauerauftrag.index( VersionedPostRequest({ 'action': 'add', 'startdatum': rfc('1.1.2017'), 'endedatum': rfc('1.1.2018'), 'rhythmus': 'monatlich', 'name': 'testname', 'wert': '2,00', 'typ': add_orderdauerauftrag.TYP_KAUF, 'depotwert': 'demoisin', 'konto': 'demokonto' })) result = add_orderdauerauftrag.index( VersionedPostRequest({ 'action': 'add', 'edit_index': 0, 'startdatum': rfc('2.1.2017'), 'endedatum': rfc('2.1.2018'), 'rhythmus': 'monatlich', 'name': '2testname', 'wert': '3,00', 'typ': add_orderdauerauftrag.TYP_VERKAUF, 'depotwert': '2demoisin', 'konto': '2demokonto' })) db = persisted_state.database_instance() assert len(db.orderdauerauftrag.content) == 1 assert db.orderdauerauftrag.content.Startdatum[0] == datum('2.1.2017') assert db.orderdauerauftrag.content.Endedatum[0] == datum('2.1.2018') assert db.orderdauerauftrag.content.Rhythmus[0] == 'monatlich' assert db.orderdauerauftrag.content.Wert[0] == float('-3.00') assert db.orderdauerauftrag.content.Name[0] == '2testname' assert db.orderdauerauftrag.content.Depotwert[0] == '2demoisin' assert db.orderdauerauftrag.content.Konto[0] == '2demokonto' result_element = list(result['letzte_erfassung'])[0] assert result_element['fa'] == 'pencil' assert result_element['startdatum'] == '02.01.2017' assert result_element['endedatum'] == '02.01.2018' assert result_element['rhythmus'] == 'monatlich' assert result_element['konto'] == '2demokonto' assert result_element['name'] == '2testname' assert result_element['depotwert'] == '2demoisin' assert result_element['wert'] == '3,00' assert result_element['typ'] == add_orderdauerauftrag.TYP_VERKAUF
def test_edit_call_from_ueberischt_should_preset_values_verkauf(): set_up() add_orderdauerauftrag.index( VersionedPostRequest({ 'action': 'add', 'endedatum': rfc('1.1.2017'), 'startdatum': rfc('1.1.2018'), 'rhythmus': 'monatlich', 'name': 'testname', 'wert': '2,00', 'typ': add_orderdauerauftrag.TYP_VERKAUF, 'depotwert': 'demoisin', 'konto': 'demokonto' })) context = add_orderdauerauftrag.index( PostRequest({ 'action': 'edit', 'edit_index': '0' })) assert context['approve_title'] == 'Order-Dauerauftrag aktualisieren' preset = context['default_item'] assert preset['wert'] == '2,00' assert preset['typ'] == add_orderdauerauftrag.TYP_VERKAUF
def test_edit_depotwert_should_only_fire_once(): set_up() add_depotwert.index(VersionedPostRequest( {'action': 'add', 'name': '1name', 'isin': '1isin' } )) next_id = request_handler.current_key() add_depotwert.index(PostRequest( {'action': 'add', 'ID': next_id, 'edit_index': 0, 'name': '2name', 'isin': '2isin' } )) add_depotwert.index(PostRequest( {'action': 'add', 'ID': next_id, 'edit_index': 0, 'name': 'overwritten', 'isin': 'overwritten' } )) db = persisted_state.database_instance() assert len(db.depotwerte.content) == 1 assert db.depotwerte.content.Name[0] == '2name' assert db.depotwerte.content.ISIN[0] == '2isin'
def test_delete(self): self.set_up() self.add_test_data() uebersicht_depotauszuege.index( VersionedPostRequest({ 'action': 'delete', 'delete_index': '1' })) depotauszuege = persisted_state.database_instance().depotauszuege assert len(depotauszuege.content) == 2 page_conent = uebersicht_depotauszuege._handle_request(GetRequest()) assert page_conent['gesamt'] == [ { 'buchungen': [{ 'depotwert': '1name (1isin)', 'wert': 1 }], 'index': 0, 'name': '1demokonto vom 01.01.2020' }, { 'buchungen': [{ 'depotwert': '4name (4isin)', 'wert': 4 }], 'index': 1, 'name': '3demokonto vom 03.01.2020' }, ]
def test_edit_sparkonto_should_only_fire_once(): set_up() add_sparkoto.index( VersionedPostRequest({ 'action': 'add', 'kontotyp': '1typ', 'kontoname': '1name' })) next_id = request_handler.current_key() add_sparkoto.index( PostRequest({ 'action': 'add', 'ID': next_id, 'edit_index': 0, 'kontotyp': '2typ', 'kontoname': '2name' })) add_sparkoto.index( PostRequest({ 'action': 'add', 'ID': next_id, 'edit_index': 0, 'kontotyp': 'overwritten', 'kontoname': 'overwritten' })) db = persisted_state.database_instance() assert len(db.sparkontos.content) == 1 assert db.sparkontos.content.Kontoname[0] == '2name' assert db.sparkontos.content.Kontotyp[0] == '2typ'
def test_add(): set_up() assert len(persisted_state.database_instance().depotauszuege.content) == 9 add_depotauszug.index( VersionedPostRequest({ 'action': 'add', 'datum_2demokonto': rfc('01.03.2020'), 'konto': '2demokonto', 'wert_2demokonto_2demoisin': '100,00', 'wert_2demokonto_3demoisin': '200,00' })) db = persisted_state.database_instance() assert len(db.depotauszuege.content) == 11 buchungen = db.depotauszuege.get_by(datum('01.03.2020'), '2demokonto') print(buchungen) assert len(buchungen) == 2 assert buchungen.Wert[9] == 100 assert buchungen.Konto[9] == '2demokonto' assert buchungen.Depotwert[9] == '2demoisin' assert buchungen.Datum[9] == datum('01.03.2020') assert buchungen.Wert[10] == 200 assert buchungen.Konto[10] == '2demokonto' assert buchungen.Depotwert[10] == '3demoisin' assert buchungen.Datum[10] == datum('01.03.2020')
def test_add_order_should_show_in_recently_added(): set_up() result = add_orderdauerauftrag.index( VersionedPostRequest({ 'action': 'add', 'startdatum': rfc('1.1.2017'), 'endedatum': rfc('1.1.2018'), 'rhythmus': 'monatlich', 'name': 'testname', 'wert': '2,00', 'typ': add_orderdauerauftrag.TYP_KAUF, 'depotwert': 'demoisin', 'konto': 'demokonto' })) result_element = list(result['letzte_erfassung'])[0] assert result_element['fa'] == 'plus' assert result_element['startdatum'] == '01.01.2017' assert result_element['endedatum'] == '01.01.2018' assert result_element['rhythmus'] == 'monatlich' assert result_element['konto'] == 'demokonto' assert result_element['name'] == 'testname' assert result_element['wert'] == '2,00' assert result_element['typ'] == add_orderdauerauftrag.TYP_KAUF assert result_element['depotwert'] == 'demoisin'
def test_editCallFromUeberischt_shouldPresetValues_andRenameButton(self): self.set_up() add_sparbuchung.index( VersionedPostRequest({ 'action': 'add', 'datum': rfc('1.1.2017'), 'name': 'testname', 'wert': '2,00', 'typ': Sparbuchungen.TYP_MANUELLER_AUFTRAG, 'eigenschaft': add_sparbuchung.EIGENSCHAFT_EINZAHLUNG, 'konto': 'demokonto' })) context = add_sparbuchung.index( PostRequest({ 'action': 'edit', 'edit_index': '0' })) assert context['approve_title'] == 'Sparbuchung aktualisieren' preset = context['default_item'] assert preset['edit_index'] == '0' assert preset['datum'] == '2017-01-01' assert preset['konto'] == 'demokonto' assert preset['name'] == 'testname' assert preset['wert'] == '2,00' assert preset['eigenschaft'] == 'Einzahlung' assert preset['typ'] == Sparbuchungen.TYP_MANUELLER_AUFTRAG
def test_edit_depotwert_with_underscrore_should_return_error(): set_up() add_depotwert.index(VersionedPostRequest( {'action': 'add', 'name': '1name', 'isin': '1isin' } )) result = add_depotwert.index(VersionedPostRequest( {'action': 'add', 'edit_index': 0, 'name': '2name', 'isin': '2_isin' } )) assert result['%Errortext'] == 'ISIN darf kein Unterstrich "_" enthalten.'
def test_delete(self): self.set_up() self.add_test_data() uebersicht_einzelbuchungen.index( VersionedPostRequest({ 'action': 'delete', 'delete_index': '1' })) einzelbuchungen = persisted_state.database_instance().einzelbuchungen assert einzelbuchungen.select().sum() == 100
def test_edit_should_only_fire_once(): set_up() add_orderdauerauftrag.index( VersionedPostRequest({ 'action': 'add', 'startdatum': rfc('1.1.2017'), 'endedatum': rfc('1.1.2018'), 'rhythmus': 'monatlich', 'name': 'testname', 'wert': '2,00', 'typ': add_orderdauerauftrag.TYP_KAUF, 'depotwert': 'demoisin', 'konto': 'demokonto' })) next_id = request_handler.current_key() add_orderdauerauftrag.index( PostRequest({ 'action': 'add', 'ID': next_id, 'edit_index': 0, 'startdatum': rfc('2.1.2017'), 'endedatum': rfc('2.1.2018'), 'rhythmus': 'monatlich', 'name': '2testname', 'wert': '3,00', 'typ': add_orderdauerauftrag.TYP_VERKAUF, 'depotwert': '2demoisin', 'konto': '2demokonto' })) add_orderdauerauftrag.index( PostRequest({ 'action': 'add', 'ID': next_id, 'edit_index': 0, 'endedatum': rfc('1.1.2010'), 'startdatum': rfc('1.1.2010'), 'rhythmus': 'monatlich', 'name': 'overwritten', 'wert': '0,00', 'typ': add_orderdauerauftrag.TYP_KAUF, 'depotwert': 'overwritten', 'konto': 'overwritten' })) db = persisted_state.database_instance() assert len(db.orderdauerauftrag.content) == 1 assert db.orderdauerauftrag.content.Startdatum[0] == datum('2.1.2017') assert db.orderdauerauftrag.content.Endedatum[0] == datum('2.1.2018') assert db.orderdauerauftrag.content.Rhythmus[0] == 'monatlich' assert db.orderdauerauftrag.content.Wert[0] == float('-3.00') assert db.orderdauerauftrag.content.Name[0] == '2testname' assert db.orderdauerauftrag.content.Depotwert[0] == '2demoisin' assert db.orderdauerauftrag.content.Konto[0] == '2demokonto'
def test_edit_sparbuchung(self): self.set_up() add_sparbuchung.index( VersionedPostRequest({ 'action': 'add', 'datum': rfc('1.1.2017'), 'name': 'testname', 'wert': '2,00', 'typ': Sparbuchungen.TYP_MANUELLER_AUFTRAG, 'eigenschaft': add_sparbuchung.EIGENSCHAFT_EINZAHLUNG, 'konto': 'demokonto' })) result = add_sparbuchung.index( VersionedPostRequest({ 'action': 'add', 'edit_index': 0, 'datum': rfc('2.2.2012'), 'name': 'testname2', 'wert': '3,00', 'typ': Sparbuchungen.TYP_MANUELLER_AUFTRAG, 'eigenschaft': add_sparbuchung.EIGENSCHAFT_EINZAHLUNG, 'konto': 'demokonto2' })) db = persisted_state.database_instance() assert len(db.sparbuchungen.content) == 1 assert db.sparbuchungen.content.Datum[0] == datum('2.2.2012') assert db.sparbuchungen.content.Wert[0] == float('3.00') assert db.sparbuchungen.content.Name[0] == 'testname2' assert db.sparbuchungen.content.Typ[ 0] == Sparbuchungen.TYP_MANUELLER_AUFTRAG assert db.sparbuchungen.content.Konto[0] == 'demokonto2' result_element = list(result['letzte_erfassung'])[0] assert result_element['fa'] == 'pencil' assert result_element['datum'] == '02.02.2012' assert result_element['konto'] == 'demokonto2' assert result_element['name'] == 'testname2' assert result_element['wert'] == '3,00' assert result_element['typ'] == Sparbuchungen.TYP_MANUELLER_AUFTRAG
def test_add_with_underscore_in_name_should_return_error(): set_up() result = add_sparkoto.index( VersionedPostRequest({ 'action': 'add', 'kontotyp': '1typ', 'kontoname': '1_name' })) assert result[ '%Errortext'] == 'Kontoname darf kein Unterstrich "_" enthalten.'
def test_edit_depotwert_with_underscrore_should_return_error(): set_up() typ_etf = persisted_state.database_instance().depotwerte.TYP_ETF add_depotwert.index(VersionedPostRequest( {'action': 'add', 'name': '1name', 'isin': '1isin', 'typ': typ_etf } )) result = add_depotwert.index(VersionedPostRequest( {'action': 'add', 'edit_index': 0, 'name': '2name', 'isin': '2_isin', 'typ': typ_etf } )) assert result['%Errortext'] == 'ISIN darf kein Unterstrich "_" enthalten.'
def test_add_should_add_sparkonto(): set_up() add_sparkoto.index( VersionedPostRequest({ 'action': 'add', 'kontotyp': '1typ', 'kontoname': '1name' })) db = persisted_state.database_instance() assert len(db.sparkontos.content) == 1 assert db.sparkontos.content.Kontoname[0] == '1name' assert db.sparkontos.content.Kontotyp[0] == '1typ'
def test_add_sparkonto_should_show_in_recently_added(): set_up() result = add_sparkoto.index( VersionedPostRequest({ 'action': 'add', 'kontotyp': '1typ', 'kontoname': '1name' })) result_element = list(result['letzte_erfassung'])[0] assert result_element['fa'] == 'plus' assert result_element['Kontotyp'] == '1typ' assert result_element['Kontoname'] == '1name'
def test_add_shouldAddDepotwert(): set_up() add_depotwert.index(VersionedPostRequest( {'action': 'add', 'name': '1name', 'isin': '1isin' } )) db = persisted_state.database_instance() assert len(db.depotwerte.content) == 1 assert db.depotwerte.content.Name[0] == '1name' assert db.depotwerte.content.ISIN[0] == '1isin'
def test_add_depotwert_should_show_in_recently_added(): set_up() result = add_depotwert.index(VersionedPostRequest( {'action': 'add', 'name': '1name', 'isin': '1isin' } )) result_element = list(result['letzte_erfassung'])[0] assert result_element['fa'] == 'plus' assert result_element['Name'] == '1name' assert result_element['Isin'] == '1isin'
def test_add_with_empty_datum_should_return_error_page(): set_up() persisted_state.database_instance().depotauszuege = Depotauszuege() assert len(persisted_state.database_instance().depotauszuege.content) == 0 result = add_depotauszug.index( VersionedPostRequest({ 'action': 'add', 'konto': '2demokonto', 'wert_2demokonto_2demoisin': '10,00', 'wert_2demokonto_3demoisin': '10,00' })) assert result['%Errortext'] == 'Interner Fehler <Kein Datum gefunden>.'
def test_add_order_for_existing_auszug_should_return_error(): set_up() result = add_depotauszug.index( VersionedPostRequest({ 'action': 'add', 'datum_2demokonto': rfc('01.01.2020'), 'konto': '2demokonto', 'wert_2demokonto_2demoisin': '100,00' })) assert '%Errortext' in result assert result[ '%Errortext'] == 'Für es besteht bereits ein Kontoauszug für 2demokonto am 01.01.2020'
def test_edit_dauerauftrag_should_only_fire_once(self): self.set_up() adddauerauftrag.index( VersionedPostRequest({ 'action': 'add', 'startdatum': rfc('1.1.2017'), 'endedatum': rfc('6.1.2017'), 'kategorie': 'Essen', 'typ': 'Ausgabe', 'rhythmus': 'monatlich', 'name': 'testname', 'wert': '2,00' })) next_id = request_handler.current_key() adddauerauftrag.index( PostRequest({ 'action': 'add', 'ID': next_id, 'edit_index': '0', 'startdatum': rfc('2.1.2017'), 'endedatum': rfc('5.1.2017'), 'kategorie': 'Essen', 'typ': 'Ausgabe', 'rhythmus': 'monatlich', 'name': 'testname', 'wert': '2,50' })) adddauerauftrag.index( PostRequest({ 'action': 'add', 'ID': next_id, 'edit_index': '0', 'startdatum': rfc('2.1.2017'), 'endedatum': rfc('5.1.2017'), 'kategorie': 'overwritten', 'typ': 'Ausgabe', 'rhythmus': 'overwritten', 'name': 'overwritten', 'wert': '0,00' })) assert len(db().dauerauftraege.content) == 1 assert db().dauerauftraege.content.Wert[0] == -1 * float('2.50') assert db().dauerauftraege.content.Name[0] == 'testname' assert db().dauerauftraege.content.Kategorie[0] == 'Essen' assert db().dauerauftraege.content.Startdatum[0] == datum('2.1.2017') assert db().dauerauftraege.content.Endedatum[0] == datum('5.1.2017')
def test_delete(self): self.set_up() self.add_test_data() uebersicht_sparkontos.index( VersionedPostRequest({ 'action': 'delete', 'delete_index': '1' })) sparkontos = persisted_state.database_instance().sparkontos assert len(sparkontos.content) == 1 assert sparkontos.get(0) == { 'Kontoname': 'demokonto2', 'Kontotyp': 'Depot', 'index': 0 }
def test_delete(self): self.set_up() self.add_test_data() uebersicht_depotwerte.index( VersionedPostRequest({ 'action': 'delete', 'delete_index': '1' })) depotwerte = persisted_state.database_instance().depotwerte assert len(depotwerte.content) == 1 assert depotwerte.get(0) == { 'Name': 'depotwert1', 'ISIN': 'isin1', 'index': 0 }