) q.getResultList();
+ System.out.println(users);
+ return Results.text().render("Done");
}
- public static class SimplePojo {
- public String content;
+ @Transactional
+ public Result insertUser() {
+ EntityManager entityManager = entitiyManagerProvider.get();
+ User user = userService.getUser();
+ entityManager.persist(user);
+ entityManager.flush();
+
+ return Results.text().render("Inserted");
}
-
+
}
diff --git a/ninja/src/main/java/models/User.java b/ninja/src/main/java/models/User.java
new file mode 100644
index 0000000000..d1b18cfa83
--- /dev/null
+++ b/ninja/src/main/java/models/User.java
@@ -0,0 +1,22 @@
+package models;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+
+@Entity
+public class User {
+
+ @Id
+ @GeneratedValue(strategy=GenerationType.AUTO)
+ Long id;
+
+ public String firstName;
+ public String email;
+
+ public String toString() {
+ return firstName + " : " + email;
+ }
+
+}
diff --git a/ninja/src/main/java/services/UserService.java b/ninja/src/main/java/services/UserService.java
index 100761a2ab..a549b48e48 100644
--- a/ninja/src/main/java/services/UserService.java
+++ b/ninja/src/main/java/services/UserService.java
@@ -1,7 +1,9 @@
package services;
+import models.User;
+
public interface UserService {
- String getUserName();
+ User getUser();
}
diff --git a/ninja/src/main/java/services/UserServiceImpl.java b/ninja/src/main/java/services/UserServiceImpl.java
index a0dec61084..3ffa53400f 100644
--- a/ninja/src/main/java/services/UserServiceImpl.java
+++ b/ninja/src/main/java/services/UserServiceImpl.java
@@ -1,10 +1,15 @@
package services;
+import models.User;
+
public class UserServiceImpl implements UserService {
-
+
@Override
- public String getUserName() {
- return "Eugen Parashic";
+ public User getUser() {
+ User user = new User();
+ user.firstName = "Norman";
+ user.email = "norman@email.com";
+ return user;
}
}
diff --git a/ninja/src/main/java/views/ApplicationController/index.ftl.html b/ninja/src/main/java/views/ApplicationController/index.ftl.html
index ab2edaf69b..10f6612d54 100644
--- a/ninja/src/main/java/views/ApplicationController/index.ftl.html
+++ b/ninja/src/main/java/views/ApplicationController/index.ftl.html
@@ -2,8 +2,8 @@
<@layout.myLayout "Home page">
-${i18n("hello.world")}
-${i18n("hello.world.json")}
-Hello World Json
+${i18n("helloMsg")}
+
+User Json
@layout.myLayout>
\ No newline at end of file
diff --git a/ninja/src/main/java/views/layout/header.ftl.html b/ninja/src/main/java/views/layout/header.ftl.html
index 8794ee5c68..ebd55a9f4c 100644
--- a/ninja/src/main/java/views/layout/header.ftl.html
+++ b/ninja/src/main/java/views/layout/header.ftl.html
@@ -6,11 +6,11 @@
- ${i18n("header.title")}
diff --git a/ninja/src/test/java/controllers/ApiControllerDocTesterTest.java b/ninja/src/test/java/controllers/ApiControllerDocTesterTest.java
index af4f5ba85f..e383859dfb 100644
--- a/ninja/src/test/java/controllers/ApiControllerDocTesterTest.java
+++ b/ninja/src/test/java/controllers/ApiControllerDocTesterTest.java
@@ -1,78 +1,38 @@
-/**
- * Copyright (C) 2012-2019 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Copyright (C) 2013 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
package controllers;
-
-import org.junit.Test;
-
-import ninja.NinjaDocTester;
-import org.doctester.testbrowser.Request;
-import org.doctester.testbrowser.Response;
-import org.hamcrest.CoreMatchers;
import static org.hamcrest.CoreMatchers.containsString;
import static org.junit.Assert.assertThat;
+import javax.inject.Inject;
+
+import org.doctester.testbrowser.Request;
+import org.doctester.testbrowser.Response;
+import org.junit.Test;
+import org.mockito.Mock;
+
+import ninja.NinjaDocTester;
+import services.UserService;
+
public class ApiControllerDocTesterTest extends NinjaDocTester {
String URL_INDEX = "/";
- String URL_HELLO_WORLD_JSON = "/hello_world.json";
+ String URL_HELLO = "/hello";
+ String URL_USER_JSON = "/userJson";
+ String URL_USERS = "/users";
+
+ @Mock
+ UserService userService;
@Test
public void testGetIndex() {
-
- Response response = makeRequest(
- Request.GET().url(
- testServerUrl().path(URL_INDEX)));
-
- assertThat(response.payload, containsString("Hello World!"));
- assertThat(response.payload, containsString("BAM!"));
-
-
+ Response response = makeRequest(Request.GET().url(testServerUrl().path(URL_INDEX)));
+ assertThat(response.payload, containsString("Bonjour, bienvenue dans Ninja Framework!"));
}
@Test
- public void testGetHelloWorldJson() {
-
- Response response = makeRequest(
- Request.GET().url(
- testServerUrl().path(URL_HELLO_WORLD_JSON)));
-
- ApplicationController.SimplePojo simplePojo
- = response.payloadJsonAs(ApplicationController.SimplePojo.class);
-
- assertThat(simplePojo.content, CoreMatchers.equalTo("Hello World! Hello Json!"));
-
-
+ public void testGetHello() {
+ Response response = makeRequest(Request.GET().url(testServerUrl().path(URL_HELLO)));
+ assertThat(response.payload, containsString("Hello, welcome to Ninja Framework!"));
}
-
+
}
diff --git a/ninja/src/test/java/controllers/ApiControllerMockTest.java b/ninja/src/test/java/controllers/ApiControllerMockTest.java
new file mode 100644
index 0000000000..3057613d2e
--- /dev/null
+++ b/ninja/src/test/java/controllers/ApiControllerMockTest.java
@@ -0,0 +1,41 @@
+package controllers;
+
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertThat;
+
+import javax.inject.Inject;
+
+import org.doctester.testbrowser.Request;
+import org.doctester.testbrowser.Response;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+
+import ninja.NinjaRunner;
+import ninja.Result;
+import services.UserService;
+
+@RunWith(NinjaRunner.class)
+public class ApiControllerMockTest {
+
+ @Inject private UserService userService;
+
+ ApplicationController applicationController;
+
+ @Before
+ public void setupTest() {
+ applicationController = new ApplicationController();
+ applicationController.userService = userService;
+ }
+
+ @Test
+ public void testThatGetUserJson() {
+ Result result = applicationController.userJson();
+ System.out.println(result.getRenderable());
+ assertEquals(userService.getUser().toString(), result.getRenderable().toString());
+ }
+
+}