record_links.t: batch-Test als TODO markieren
Dieser Test schlägt manchmal fehl, da die Reihenfolge der zurückgeliefertenLinks nicht stabil ist.Die Frage ist hier, ob der Helper die Links in der Reihenfolge der angegebenenIds zurückgeben soll (also der Helper kaputt ist), oder ob die Reihenfolge...
payment-refactor: Anzahl der Testfälle exakt gesetzt
Testfälle für payment angepasst
Testfälle für Payment::within_skonto_period
BankTransaction neuen Rückgabewert von pay_invoice benutzen .. Tests
Payment-Helper um Rückgabewert invoice_amount für bank_transaction ergänzt
Testfälle und Anmerkung zu exchangerate
Payment-Helper pay_invoice case 'difference_as_skonto' entfernt
'difference_as_skonto' lässt sich über 'free_skonto' abbilden.Ein Fall weniger der die Methode etwas wartungsfreundlicher macht.POD und Testfall angepasst.
Testfälle für Payment umgestellt difference_as_skonto => free_skonto
Anwendungsfall difference_as_skonto ist nichts anderes alsfree_skonto mit dem Skonto-Betrag entsprechend dem vollenRechnungsbetrag. Der Fall difference_as_skonto ist ansonsten toter Code...
Angepasster Testfall payment
tests: DeliveryOrder type
convert_invoice.t: Test für Änderung von Attributen bei Konvertierung
convert_invoice.t: Konvertierung aus Auftrag inkl. verlinkter Positionen
orderitems um Attribut optional erweitert
Optionale orderitems werden nicht in den Belegsumme aufaddiertAnpassung für Order-Controller und Druckvorlagen-SystemWeitere Anwender-Details s.a. Changelog
AttrDuration für minutes: _in_hours und _in_hours_as_number
Generierte Helfer-Methoden für Attribute, die normalerweise Minutenspeichern. Die Funktion `attribute_in_hours` rechnet die Minuten inStunden um (beim Lesen) und umgekehrt (beim Schreiben).
`attribute_in_hours_as_number` formatiert zusätzlich den Wert in...
SEPA-Überweisungen: Zahlungsbedingungen f. Skonto aus EK-Rechnungen übernehmen …
… und nicht aus den Lieferanten-Stammdaten.
Hier könnte es im VK und EK noch eine Art fallback auf die Zahlungsbedingungenaus den Kunden-/Lieferanten-Stammdaten geben - so dass diese zusätzlich als...
price_tax_calculator.t - in 2020 das Jahr 2019 nehmen
payment.t - in 2020 das Jahr 2019 nehmen
und außerdem bei payments Datum immer als DateTime-Objekt übergeben.
convert_invoice.t - in 2020 das Jahr 2019 nehmen
PTC: Rückgabehash taxes in taxes_by_chart_id umbenannt
Damit ist klarer, was zu erwarten ist
PTC: Steuern auch nach Steuer-Id zurückgeben
Bisher kann der PTC die berechntete Steuer pro Steuerkonto zurückgeben.Allerdings kann kivi so konfiguriert sein, dass verschiedene Steuernauf ein Konto gebucht werden. Diese lassen sich dann durch die Rückgabe...
Payment Helper Test nutzt create_ap_transaction
create_ap_transaction benutzen, statt per acc_trans-Einträge manuellzusammenzubauen. Außerdem purchase_invoice in ap_transaction umbenannt.
t/db_helper/payment.t: keine Klammern bei subroutine-Definition
sonst gibt es eine Warnung bzgl. Prototypen
t/db_helper/convert_invoice.t: Zahlen nach Rundungs-Patch f. PTC angepasst.
Neue Zahlen mit (zahlengleichen) Beispielen an der Oberfläche ermittelt.
PTC-Tests: ein weiterer Test mit großen Mengen und kleinen Preisen
PTC-Tests angepasst nach PTC-Rundungs-Patch …
"PTC rundet nicht mehr Rabatt vor Mengenmultiplikation"
PTC rundet nicht mehr Rabatt vor Mengenmultiplikation
siehe Ticket #82
Neuer Test für 100000 Artikel zu 0,10€ bei 3% RabattEinen weiteren Test angepasst an die neuen Zahlen.
Refactoring payment.t
reset_state in init_state umbenannt und params entfernt. Die Daten werden nureinmal aufbereitet.
Überall title an Anfang der Funktion verschoben, bzw. neu angelegt.
ALWAYS_RESET entfernt. Es werden nun während des Tests nie Rechnungen gelöscht....
t/db_helper/payment.t - Testcode verschoben
die eigentlichen Tests stehen jetzt vor den Testfunktionen undHelperfunktionen, nicht ganz am Ende.
Tests: SL::Dev Änderungen übernommen
t/db_helper/price_tax_calculator.t mit SL::Dev refactored
t/db_helper/convert_invoice.t mit SL::Dev refactored
record_links.t: nach Test aufräumen
Test with_transaction.t: deutsche und englische Fehlermeldungen erkennen
DB-Cluster sind bei uns in Deutschland normalerweise mit englischer odermit deutscher Locale angelegt. Daher sollte ein Test mit beidenSprachvarianten genügen.
t/db_helper/payment.t credit_note test title angepasst
t/db_helper/payment.t - neuer Test für Gutschrift
DB Transaktionen - Fehler nach oben durchreichen
LinkedRecord: Batch mode
payment.t Test nutzt SL::Dev::* zur Datengenerierung
Ware/Erzeugnis/Dienstleistung per parts.part_type unterscheiden 2
kivitendo Code angepasst.
convert_invoice.t: purchase invoices vor parts aufräumen
Payment Helper kann nun auch Kursverluste/Gewinne
+ neue Helper-Methode exchange_rate für Rechnungen
Paymenthelper kann Fremdwährung mit Steuer inkl. und exkl.
PTC Test um Rundungsgenauigkeit ergänzt
Der PriceTaxCalculator hat als Datenwert neuerdings dieRundungsgenauigkeit für den Modus Schweiz. Dies muss entsprechendim Tests des Moduls auch berücksichtigt werden.
Neuer Minimaltestfall für Rabattrundung im PTC
Beim PTC wird vor der Multiplizierung mit der Menge der gerundete Rabatt vomVerkaufspreis abgezogen, statt erst die Zeilensumme zu berechnen unddann den Rabatt zu ziehen.
6 Artikel zu 0.6€ mit 3% Rabatt0.6 * 6 * ( 1 - 0.03 ) != ( 0.6 - round(0.6*0.03) ) * 6...
Payment Helper setzt $self->transactions zurück
Als es noch eine Methode transactions in SL::DB::Helper::Payment gabwurden die acc_trans-Einträge bei Zugriff per $self->transactions jedesMal aus der Datenbank ausgelesen:(SL::DB::Manager::AccTransaction->get_all(query => [ trans_id => $self->id ]);...
Testfall convert_invoice.t um html-formatierte texte erweitert
Beim Konvertieren von Lieferschein nach Invoice auch explizit dieFormate von CKEditor prüfen. Ferner leichte weitere Anonymisierung derWarendaten.
Tests erweitert
Neuer BackgroundJob und den Standard Employee nicht in meinemTestfall löschen, da dieser bei späteren Tests noch verwendet wird.
convert_invoice auch LinkedRecords und Items testen
DeliveryOrder um convert_invoice erweitert
Diesselbe Idee wie bei SalesOrder->convert_invoice. Der ursprünglicheLieferschein wird geschlossen und das neue Objekt mittels record_linksverknüpft.Entsprechend Testfall mitgeliefert.
AttrDuration: Test muss Sprachinvariant sein
AttrDuration-Test: Anzahl Testcases gefixt
AttrDuration: Implementation für Spalten, die Dauer in Minuten speichern
Zahlungsbedingungen: Flag »Fälligkeitsdatum automatisch berechnen«
Tests: 2 Tests in db_helper/payment.t auf TODO gesetzt
Sammelcommit Bankerweiterung und Skonto
Überarbeitung der Bankerweiterung vom Stand Niclas, und Einführung vonBezahlung mit Skonto (alter payment Branch). Mehr Details siehechangelog.
Aufräumen der DB am Ende der individuellen Tests
die Tests sollten am Ende ihre eigenen angelegten Daten löschen, damitandere Tests beim Löschen ihrer Daten keine Abhängigkeitsproblemebekommen:
create_periodic_invoices.tprice_tax_calculator.trecord_links.t...
Tests: price_tax_calculator.t muss vor Kunden löschen richtig aufräumen
PriceTaxCalculator: für Items berechnete flüchtige Werte zurückgeben Teil 3
Die items können nicht als Hash-Referenz gespeichert werden, weil daskaputt geht, wenn die Items noch nicht gespeichert wurden und damit nochkeine ID besitzen. Daher Umstellung auf Array-Speicherung....
Steuerzone - neue Customer/Vendor-Objekte brauchen Steuerzone
Durch den not-NULL Constraint bei Kunden und Lieferanten mußbeim Anlegen eines neuen Objekts nun zwingend die Steuerzone mitübergeben werden, ähnlich wie bei der Währung.Dies wurde bei einigen automatischen Tests nachgeholt.
Nachtrag Steuerzone - Tests angepasst
Steuerzone in price_tax_calculator.t angepasst
Rundungsfehler bei periodischen Rechnungen mit Einzelpreisen ...
... mit einer Nachkommastelle und Rabatt behoben.
siehe auch commit a22b8118e0bd68acac8a2d7b02a2d4f9fd0eaff1
Zudem einen Test dazu angelegt. Allerdings weicht die Art, wie derPriceTaxCalculator und die Beleg-Masken rechnen, von einander ab....
Rose-Attr-Helfer: _as_timestamp
…mit verschiedenen Präzisionsstufen und Tests!
SL::DB::Helper::LinkedRecords: rekursive Suche in linked_records
LinkedRecords: bidi Verhalten den docs angepasst und direction Parameter optional gemacht
LinkedRecords: Test und Doku Update
Test: acts_as_list.t: Anpassung an Währungsumstellung
Diverse Fixes, damit der Testcase mit den aktuellen requirement_specs durchläuft.
- braucht jetzt keine leere Datenbank mehr, erstellt Ficture und löscht sie hinterher wieder.- Update auf item_type- Unmöglicher Check im Header korrigiert- Zahl der Testcases jetzt korrekt hart kodiert
Erste Tests zum PriceTaxCalculator
acts_as_list sollte nicht kaputtgehen hier
AttrDuration: in SL::DB::Object->assign_attributes() auch attr_man_days_string() vor _unit() auswerten
AttrDuration-Helfer
ActsAsList: add_to_list() auch aufrufen können, wenn 'position' noch gesetzt ist
ActsAsList: get_next_in_list() und get_previous_in_list()
ActsAsList: mit remove_from_list() entfernte Items auf position = -1 setzen
position ist in allen Tabellen NOT NULL deklariert. Nur in der einen,die ich zum Testen genutzt hatte, nicht. Das habe ich nunnachgeholt. Jetzt wird -1 als magischer "not in list"-Wert benutzt.
ActsAsList: neu: remove_from_list(), add_to_list(), Unit-Tests