import 'package:test/test.dart';
import 'package:holzleitner_api/holzleitner_api.dart';

// tests for DeliveryWithItems
void main() {
  final instance = DeliveryWithItemsBuilder();
  // TODO add properties to the builder and call build()

  group(DeliveryWithItems, () {
    // Fahrzeug-Zuordnung, gesetzt in der Auswählen-Phase. Bei Ein-Auto-Teams beim Sync automatisch gefüllt.
    // String assignedCarId
    test('to test the property `assignedCarId`', () async {
      // TODO
    });

    // Ausgewählte Ansprechpartner für genau diese Lieferung (Auswahl aus `Customer.contacts`). Kann leer sein.
    // BuiltList<String> contactPersonIds
    test('to test the property `contactPersonIds`', () async {
      // TODO
    });

    // String customerId
    test('to test the property `customerId`', () async {
      // TODO
    });

    // Eingefrorene Liefer-Adresse zum Zeitpunkt des Tour-Syncs. Schützt vor rückwirkenden Kunden-Adressänderungen.
    // Address deliveryAddressSnapshot
    test('to test the property `deliveryAddressSnapshot`', () async {
      // TODO
    });

    // Wunsch-Lieferzeit als Freitext (z. B. \"vormittags\", \"ab 14:00\").
    // String desiredTime
    test('to test the property `desiredTime`', () async {
      // TODO
    });

    // ERP-Beleg-Bezug: business-stabiles Paar `(Belegart, Belegnummer)`. Überlebt den Belegkopf-Archivübergang.
    // int erpBelegartId
    test('to test the property `erpBelegartId`', () async {
      // TODO
    });

    // String erpBelegnummer
    test('to test the property `erpBelegnummer`', () async {
      // TODO
    });

    // String id
    test('to test the property `id`', () async {
      // TODO
    });

    // Sondervereinbarungen (z. B. „Türklingel defekt, hintenrum klopfen\").
    // String specialAgreements
    test('to test the property `specialAgreements`', () async {
      // TODO
    });

    // DeliveryState state
    test('to test the property `state`', () async {
      // TODO
    });

    // Begründung bei `state == Held` oder `state == Canceled`. Beim Resume / Complete wieder `None`.
    // String stateReason
    test('to test the property `stateReason`', () async {
      // TODO
    });

    // String tourId
    test('to test the property `tourId`', () async {
      // TODO
    });

    // BuiltList<DeliveryItem> items
    test('to test the property `items`', () async {
      // TODO
    });

    // Sortier-Reihenfolge innerhalb der Tour (1-basiert).
    // int sortOrder
    test('to test the property `sortOrder`', () async {
      // TODO
    });

  });
}
