From 98256f04cafbf7770a314c9a2b5906b41d8fe594 Mon Sep 17 00:00:00 2001 From: Frank Rosner Date: Tue, 28 Jun 2016 22:15:12 +0200 Subject: [PATCH] #8 first test list in template controller --- .../controllers/TemplateControllerSpec.scala | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 test/de/frosner/broccoli/controllers/TemplateControllerSpec.scala diff --git a/test/de/frosner/broccoli/controllers/TemplateControllerSpec.scala b/test/de/frosner/broccoli/controllers/TemplateControllerSpec.scala new file mode 100644 index 000000000..70108ea79 --- /dev/null +++ b/test/de/frosner/broccoli/controllers/TemplateControllerSpec.scala @@ -0,0 +1,39 @@ +package de.frosner.broccoli.controllers + +import de.frosner.broccoli.models.Template +import de.frosner.broccoli.services.TemplateService +import org.specs2.mutable.Specification +import play.api.test.{FakeRequest, PlaySpecification} +import org.mockito.Mockito._ +import play.api.libs.json.{JsArray, JsObject, JsString} +import org.specs2.concurrent.ExecutionEnv +import play.api.mvc.BodyParsers + +class TemplateControllerSpec extends PlaySpecification { + + "/templates" should { + + "list all available templates" in { implicit ee: ExecutionEnv => + val templateService = mock(classOf[TemplateService]) + val template = Template( + id = "id", + template = "template {{name}}", + description = "description" + ) + when(templateService.templates).thenReturn(Seq(template)) + val controller = new TemplateController(templateService) + + val result = controller.list.apply(FakeRequest()) + status(result) must be equalTo 200 + contentAsJson(result) must be equalTo JsArray(Seq( + JsObject(Map( + "id" -> JsString(template.id), + "parameters" -> JsArray(Seq(JsString("name"))), + "description" -> JsString(template.description) + )) + )) + } + + } + +}