Wie testet man das FilePostRedirectGet Plugin?

8

TLDR:

Wie schreibt man einen Integrationstest für ein FilePostRedirectGet Antrag auf Formularübermittlung?

In meiner Anwendung habe ich ein mehrseitiges Formular mit einem Dateielement darin. Ursprünglich war der Controller-Code (psuedo code - alles mehrseitige Zeug entfernt):

%Vor%

Wenn das Formular gültig ist, speichert es im Grunde die Formulardetails und führt eine Umleitung aus (normalerweise die Bearbeitungsversion der Seite). Wenn das Formular nicht gültig war, würde es das Formular nur noch mit den entsprechenden Fehlermeldungen anzeigen.

Das Problem bei diesem Ansatz besteht darin, dass eines der Formularelemente die Validierung nicht besteht, die Dateieingabe ihren Wert verliert und der Benutzer seine Datei erneut hochladen muss. Um das zu umgehen, wechselte ich zum FPRG-Ansatz:

%Vor%

Das FilePostRedirectGet -Plugin speichert die Postdaten in einer Sitzung, leitet es zur selben Seite weiter, validiert das Formular und leitet, falls es gültig ist, zur Seite Erfolg / Bearbeitung um - ansonsten zeigen Sie einfach das Formular mit Fehlern an. Der Vorteil dieses Ansatzes besteht darin, dass die Dateieingabe unabhängig von anderen fehlerhaften Elementen ihren Wert behält.

Das Problem ist, wie man einen Integrationstest für diese Anfrage schreibt?

Ursprünglich gab es nur eine Weiterleitung (bei Erfolg), so dass ich das testen konnte (Modellspott, der der Kürze halber entfernt wurde):

%Vor%

Aufgrund der Mehrfachumleitungen kann ich diese Testmethode jedoch nicht verwenden, wenn die Anfrage erfolgreich war oder nicht.

Wie schreibe ich einen Integrationstest für diese Anfrage?

    
Richard Parnaby-King 30.01.2018, 10:13
quelle

0 Antworten