package integration.views;
import integration.TestVerticle;
import integration.VertxNubesTestBase;
import io.vertx.ext.unit.Async;
import io.vertx.ext.unit.TestContext;
import mock.domains.Dog;
import org.junit.Ignore;
import org.junit.Test;
public class ViewsTest extends VertxNubesTestBase {
@Test
@Ignore
public void testSimpleHtml(TestContext context) {
Async async = context.async();
client().getNow("/views/default", response -> {
context.assertEquals(200, response.statusCode());
response.bodyHandler(buffer -> {
String html = buffer.toString("UTF-8");
context.assertTrue(html.indexOf("<html>") == 0);
context.assertTrue(html.indexOf("</html>") > -1);
context.assertTrue(html.indexOf("Australia") > -1);
async.complete();
});
});
}
@Test
public void testHandlebars(TestContext context) {
Dog dog = TestVerticle.dogService.someDog();
Async async = context.async();
client().getNow("/views/handlebars?name=" + dog.getName() + "&breed=" + dog.getBreed(), response -> {
context.assertEquals(200, response.statusCode());
response.bodyHandler(buffer -> {
String result = buffer.toString("UTF-8");
context.assertEquals("Hello! I'm a dog and my name is " + dog.getName(), result);
async.complete();
});
});
}
@Test
public void testDynamicViewName(TestContext context) {
Dog dog = TestVerticle.dogService.someDog();
Async async = context.async();
client().getNow("/views/dynamic?name=" + dog.getName() + "&breed=" + dog.getBreed(), response -> {
context.assertEquals(200, response.statusCode());
response.bodyHandler(buffer -> {
String result = buffer.toString("UTF-8");
context.assertEquals("Hello! I'm a dog and my name is " + dog.getName(), result);
async.complete();
});
});
}
@Test
public void testDynamicSync(TestContext context) {
Dog dog = TestVerticle.dogService.someDog();
Async async = context.async();
client().getNow("/views/dynamic/sync?name=" + dog.getName() + "&breed=" + dog.getBreed(), response -> {
context.assertEquals(200, response.statusCode());
response.bodyHandler(buffer -> {
String result = buffer.toString("UTF-8");
context.assertEquals("Hello! I'm a dog and my name is " + dog.getName(), result);
async.complete();
});
});
}
@Test
public void testDynamicMap(TestContext context) {
Dog dog = TestVerticle.dogService.someDog();
Async async = context.async();
client().getNow("/views/dynamic/map?name=" + dog.getName() + "&breed=" + dog.getBreed(), response -> {
context.assertEquals(200, response.statusCode());
response.bodyHandler(buffer -> {
String result = buffer.toString("UTF-8");
context.assertEquals("Hello! I'm a dog and my name is " + dog.getName(), result);
async.complete();
});
});
}
@Test
@Ignore
// it's failing because we need a prefixed template engine for MVEL
public void testMvel(TestContext context) {
Dog dog = TestVerticle.dogService.someDog();
Async async = context.async();
client().getNow("/views/mvel?name=" + dog.getName() + "&breed=" + dog.getBreed(), response -> {
context.assertEquals(200, response.statusCode());
response.bodyHandler(buffer -> {
String result = buffer.toString("UTF-8");
context.assertEquals("Hello! I'm a dog and my name is " + dog.getName(), result);
async.complete();
});
});
}
}