Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Businesstest-Skript

Jedes Businesstest-Skript ist automatisch von der Klasse org.nuclos.server.businesstest.execution.BusinessTestScript abgeleitet und hat dadurch unter anderem folgende Methoden zur Verfügung:

...

Lässt den Test fehlschlagen und trägt die angegebene message als Ergebnis ein.
Sollte nur in Ausnahmefällen verwendet werden, da meistens Assertions die bessere Alternative sind (welche jedoch einen Fehler melden, wenn sie fehlschlagen, statt nur einer Warnung).

Entitätsklassen

Für jedes vorhandene BO wird eine entsprechende Entitätsklasse generiert, über die auf die Attribute des BOs zugegriffen werden kann, und die einige Hilfsmethoden bereitstellt.

...

Codeblock
languagegroovy
 Order.get(12345).delete()

first() - Ersten Datensatz holen

Holt den ersten Datensatz dieses BOs, den die Datenbank liefert (ohne bestimmte Reihenfolge).
Wird vor allem in den automatisch generierten Tests verwendet, wenn keine sinnvolleren Suchkriterien zur Verfügung stehen.

Beispiel:

Codeblock
languagegroovy
Order order = Order.first()

list(int limit) - Mehrere Datensätze holen

Analog zu first(), jedoch werden gleich mehrere Datensätze geholt. limit ist optional - falls nicht angegeben, ist der Default-Wert 100.

Beispiel:

Codeblock
languagegroovy
List<Order> orders = Order.list(10)

query(String where) - Komplexe SQL-ähnliche Abfragen

Hierüber können komplexe Suchen durchgeführt werden. Der Parameter muss ein Query-String sein, wie ihn auch der REST-Service akzeptiert (siehe dazu Dokumentation des "where" Parameters unter: 4. Businessobjekte (BO) lesen).

Beispiel:

Codeblock
languagegroovy
List<Order> orders = Order.query('''
    example_rest_Order_customer = 40000294
AND example_rest_Order_orderDate >= '2014-06-05'
AND example_rest_Order.id IN (
        SELECT example_rest_OrderPosition_order 
        FROM example_rest_OrderPosition
        WHERE example_rest_OrderPosition_price > 800
    )
''')

 

BOs mit Statusmodell

Falls das BO ein Statusmodell hat:

changeStat(int state) - Statuswechsel

Wechselt in den angegebenen Zielstatus - entspricht StatemodelProvider.changeState().

Beispiel:

Codeblock
languagegroovy
Order.get(12345).changeState(80)

BOs mit Benutzerregeln

Falls dem BOs Benutzerregeln (CustomRules) zugewiesen sind, steht für jede Regel eine Methode zur Verfügung.

Beispiel (Order hat die CustomRule "LockOrder"):

Codeblock
languagegroovy
Order.get(12345).executeLockOrder()