File Upload bei funktionalen Tests in Grails
In diesem kurzen Blog-Post möchte ich zeigen, wie man bei Grails bei funktionalen Tests einen File Upload überprüfen kann. Laut Geb Dokumentation [1] funktioniert das folgendermaßen:
when: "lorem ipsum "
...
assert uploadedIconFile1.exists()
form.productIcon = uploadedIconFile1.absolutePath
report 'lorem ipsum'
saveButton()
Für die Tests bietet es sich an, bereits mit dem Asset-Pipeline-Plug-in verwaltete Bilder zu benutzen. Die Dokumentation hierzu ist jedoch recht dürftig.
Dieser Zugriff kann so erfolgen:
class ProductSpec extends GebServiceSpec {
...
@Shared
File uploadedIconFile1 = new File(AssetHelper.fileForFullName('layer1.png').getInputStream().properties['inIfOpen'].path as String)
...