2010年5月13日木曜日

GrailsのIntegrationTestで、ファイルのアップロードをテストする

grailsのバージョンは1.2.1
spockのバージョンは0.4-SNAPSHOT

import org.springframework.mock.web.MockMultipartHttpServletRequest
import org.springframework.mock.web.MockMultipartFile
import grails.plugin.spock.IntegrationSpec

class FileUploadControllerSpec extends IntegrationSpec {

def controller

def setup() {
controller = new FileUploadController()
controller.request.metaClass.mixin MockMultipartHttpServletRequest
}

def "アップロードされたファイルを保存する"() {
when:
MockMultipartFile file = new MockMultipartFile("html.attr.name", "originalFileName", "text/plain", "ファイルの内容".bytes)
controller.request.addFile(file)
and:
controller.save()
then:
controller.responce.redirectedUrl == "/fileUpload/show/1"
}
}

とりあえず。