Files
Holzleitner-Lieferservice-App/packages/holzleitner_api/test/delivery_details_test.dart
Dennis Nemec dd7fe9a8eb feat(zahlung): eigener Step "Zahlung" vor der Uebersicht
- Neuer Workflow-Step "Zahlung" zeigt ausgelieferte Artikel mit Menge und
  Preis, Betragsaufstellung, Zahlungsstatus und einen grossen Button
  "Zahlung abwickeln" (fest unten)
- Zahlungs-Modal: grosser offener Betrag, Methoden als Cards aus den
  Backend-Stammdaten, bei EC-Karte gross die Kundennummer; schliesst nur
  ueber Abbrechen, "Zahlung erhalten" oder "Lieferung abbrechen" (mit Grund)
- Bestaetigung wird am Server protokolliert (RecordDeliveryPayment); bis
  dahin sind "Weiter" und die Uebersicht gesperrt, ausser es ist nichts
  offen (bereits bezahlt). Aendert sich der Betrag danach, wird die Zahlung
  als veraltet markiert und muss erneut abgewickelt werden
- Uebersicht zeigt die abgewickelte Zahlung statt eigener Methodenauswahl;
  Unterschrift-Flow ohne doppelte Inkasso-Stufe; Abschluss sendet Methode
  und Inkasso-Flag der gueltigen Zahlung
- DeliveryPaymentStatus als einzige Quelle fuer offenen Betrag
  (gleiche Formel wie Backend); Artikelliste/Betragskarte als geteilte
  Widgets; Begruendungs-Dialog geteilt mit Info-Step
- API-Client aus aktueller Backend-Spec neu generiert
- Tests fuer Zahlungsstatus und Modal

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 14:04:36 +02:00

90 lines
2.6 KiB
Dart

import 'package:test/test.dart';
import 'package:holzleitner_api/holzleitner_api.dart';
// tests for DeliveryDetails
void main() {
final instance = DeliveryDetailsBuilder();
// TODO add properties to the builder and call build()
group(DeliveryDetails, () {
// Nur die von den Positionen referenzierten Artikel.
// BuiltList<Article> articles
test('to test the property `articles`', () async {
// TODO
});
// Die zu `contactSources` gehörenden Einzel-Kanäle. Join per `sourceId`.
// BuiltList<ContactChannel> contactChannels
test('to test the property `contactChannels`', () async {
// TODO
});
// Kontaktquellen der Lieferung (Liefer-/Rechnungsadresse, Ansprechpartner …).
// BuiltList<ContactSource> contactSources
test('to test the property `contactSources`', () async {
// TODO
});
// Aktuelle Betrags-Gutschrift (`null`, wenn keine aktiv).
// DeliveryCredit credit
test('to test the property `credit`', () async {
// TODO
});
// Der Kunde der Lieferung (`null`, falls unauffindbar — sollte nicht vorkommen).
// Customer customer
test('to test the property `customer`', () async {
// TODO
});
// Ansprechpartner des Kunden.
// BuiltList<CustomerContact> customerContacts
test('to test the property `customerContacts`', () async {
// TODO
});
// Die Lieferung selbst inkl. Positionen (mit Scan-Ständen) und `sortOrder`.
// DeliveryWithItems delivery
test('to test the property `delivery`', () async {
// TODO
});
// Für diese Lieferung gesetzte Service-Werte.
// BuiltList<DeliveryServiceValue> deliveryServices
test('to test the property `deliveryServices`', () async {
// TODO
});
// Notizen der Lieferung, aufsteigend nach `createdAt`.
// BuiltList<DeliveryNote> notes
test('to test the property `notes`', () async {
// TODO
});
// Jüngste protokollierte Zahlungsabwicklung (`None` = keine).
// DeliveryPayment payment
test('to test the property `payment`', () async {
// TODO
});
// Aktive Service-Definitionen (Stammdaten).
// BuiltList<Service> services
test('to test the property `services`', () async {
// TODO
});
// Die Tour, zu der die Lieferung gehört.
// Tour tour
test('to test the property `tour`', () async {
// TODO
});
// Nur die von den Positionen referenzierten Lager.
// BuiltList<Warehouse> warehouses
test('to test the property `warehouses`', () async {
// TODO
});
});
}