diff options
Diffstat (limited to 'example/todoApi/app/test/src/ExampleTests.scala')
-rw-r--r-- | example/todoApi/app/test/src/ExampleTests.scala | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/example/todoApi/app/test/src/ExampleTests.scala b/example/todoApi/app/test/src/ExampleTests.scala new file mode 100644 index 0000000..5e9e11a --- /dev/null +++ b/example/todoApi/app/test/src/ExampleTests.scala @@ -0,0 +1,47 @@ +package app +import io.undertow.Undertow + +import utest._ + +object ExampleTests extends TestSuite{ + def test[T](example: cask.main.BaseMain)(f: String => T): T = { + val server = Undertow.builder + .addHttpListener(8080, "localhost") + .setHandler(example.defaultHandler) + .build + server.start() + val res = + try f("http://localhost:8080") + finally server.stop() + res + } + + val tests = Tests{ + 'TodoMvcApi - test(TodoMvcApi){ host => + requests.get(s"$host/list/all").text() ==> + """[{"checked":true,"text":"Get started with Cask"},{"checked":false,"text":"Profit!"}]""" + requests.get(s"$host/list/active").text() ==> + """[{"checked":false,"text":"Profit!"}]""" + requests.get(s"$host/list/completed").text() ==> + """[{"checked":true,"text":"Get started with Cask"}]""" + + requests.post(s"$host/toggle/1") + + requests.get(s"$host/list/all").text() ==> + """[{"checked":true,"text":"Get started with Cask"},{"checked":true,"text":"Profit!"}]""" + + requests.get(s"$host/list/active").text() ==> + """[]""" + + requests.post(s"$host/add", data = "new Task") + + requests.get(s"$host/list/active").text() ==> + """[{"checked":false,"text":"new Task"}]""" + + requests.post(s"$host/delete/0") + + requests.get(s"$host/list/active").text() ==> + """[]""" + } + } +} |