odbhut.shei.chhele
odbhut.shei.chhele

Reputation: 6224

How to use scalatest to test file upload in Play Framework?

I am writing tests for an application created using Scala/Play Framework. There is a route with takes file to upload. This is what I have written so far.

      val dataFile: File = new File("../TestCSV/product.csv")
      val tempFile = TemporaryFile(dataFile)
      val part = FilePart[TemporaryFile](key = "dataFile", filename = "product.csv", contentType = Some("application/vnd.ms-excel"), ref = tempFile)
      val formData: MultipartFormData[TemporaryFile] = MultipartFormData[TemporaryFile](dataParts = Map(), files = Seq(part), badParts = Seq(), missingFileParts = Seq())
      val request: FakeRequest[MultipartFormData[TemporaryFile]] = FakeRequest[MultipartFormData[TemporaryFile]]("POST", "/api/core/v0.1/data-import/uploads/%s/product".format(sandboxId), headers, formData)
      val response = route(request).get
      status(response) mustBe OK

I am getting this error.

Cannot write an instance of play.api.mvc.MultipartFormData[play.api.libs.Files.TemporaryFile] to HTTP response. Try to define a Writeable[play.api.mvc.MultipartFormData[play.api.libs.Files.TemporaryFile]]

How do I make this class writable?

Upvotes: 3

Views: 507

Answers (0)

Related Questions