list = new ArrayList<>();
+ User user = userDao.create(createUser());
+ list.add(user);
+ assertNotNull(userDao.getList());
+ userDao.delete(user);
+ }
+
+ @Test
+ public void testFindEntityByIdAndEntity() {
+ User user = userDao.create(createUser());
+ long id = user.getId();
+ assertNotNull(userDao.getEntityById(id));
+ User result = userDao.findEntityByName(user.getLogin());
+ assertEquals("raketa", result.getLogin());
+ userDao.delete(user);
+ }
+
+ @Test
+ public void testUpdateUser(){
+ User user = userDao.create(createUser());
+ long id = user.getId();
+ User updateduser = updateUser(user);
+ userDao.update(updateduser);
+ assertNotNull(userDao.getEntityById(id));
+ assertEquals("phill", updateduser.getLogin());
+ userDao.delete(userDao.getEntityById(id));
+ }
+
+ @Test
+ public void testDeleteUser(){
+ User user = userDao.create(createUser());
+ long id = user.getId();
+ assertNotNull(userDao.getEntityById(id));
+ userDao.delete(user);
+ assertNull(userDao.getEntityById(id));
+ }
+
+ private User updateUser(User user) {
+ User newUser = user;
+ newUser.setLogin("phill");
+ newUser.setFirstname("Phillip");
+ return newUser;
+ }
+
+ private User createUser(){
+ User user = new User();
+ user.setLogin("raketa");
+ user.setFirstname("Ivan");
+ user.setLastname("Ivanov");
+ user.setPassword("raketa");
+ user.setEmail("ivan@yandex.ru");
+ return user;
+ }
+}
diff --git a/src/test/java/io/aera/entity/RolesTest.java b/src/test/java/io/aera/entity/RolesTest.java
new file mode 100644
index 0000000..f02035a
--- /dev/null
+++ b/src/test/java/io/aera/entity/RolesTest.java
@@ -0,0 +1,30 @@
+package io.aera.entity;
+
+import junitparams.JUnitParamsRunner;
+import junitparams.Parameters;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+@RunWith(JUnitParamsRunner.class)
+public class RolesTest {
+ private static final Object[] getRoles() {
+ return new Object[] {
+ new Object[] {1, "ROLE_ADMIN"},
+ new Object[] {2, "ROLE_USER"}
+ };
+ }
+
+ @Test
+ @Parameters(method = "getRoles")
+ public void createNewRolessuccessfully(int id, String role){
+ Roles roles = new Roles();
+ roles.setId(id);
+ roles.setRole(role);
+
+ assertNotNull(roles);
+ assertEquals(id, roles.getId());
+ assertEquals(role, roles.getRole());
+ }
+}
diff --git a/src/test/java/io/aera/entity/UserTest.java b/src/test/java/io/aera/entity/UserTest.java
new file mode 100644
index 0000000..30a6aee
--- /dev/null
+++ b/src/test/java/io/aera/entity/UserTest.java
@@ -0,0 +1,40 @@
+package io.aera.entity;
+
+import junitparams.JUnitParamsRunner;
+import junitparams.Parameters;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import static org.junit.Assert.assertEquals;
+
+@RunWith(JUnitParamsRunner.class)
+public class UserTest {
+ private static final Object[] getUser() {
+ return new Object[] {
+ new Object[] {1L,"pet","Petr","Smirnov","smirnov","petr@yandex.ru",1},
+ new Object[] {2L,"krak","Ivan","Petrov","petrov","ivan@yandex.ru",1},
+ new Object[] {3L,"fact","Fedor","Kolokov","kolokov","fedor@yandex.ru",1}
+ };
+ }
+
+ @Test
+ @Parameters(method = "getUser")
+ public void createNewUserSuccessfully(long id, String login, String firstname,
+ String lastname, String password, String email, int role){
+ User user = new User();
+ user.setId(id);
+ user.setLogin(login);
+ user.setFirstname(firstname);
+ user.setLastname(lastname);
+ user.setPassword(password);
+ user.setEmail(email);
+ user.setRoleId(role);
+
+ assertEquals(id, user.getId());
+ assertEquals(login, user.getLogin());
+ assertEquals(firstname, user.getFirstname());
+ assertEquals(lastname, user.getLastname());
+ assertEquals(password, user.getPassword());
+ assertEquals(email, user.getEmail());
+ assertEquals(role, user.getRoleId());
+ }
+}
diff --git a/src/test/java/io/aera/service/impl/UserServiceImplTest.java b/src/test/java/io/aera/service/impl/UserServiceImplTest.java
new file mode 100644
index 0000000..a4d5343
--- /dev/null
+++ b/src/test/java/io/aera/service/impl/UserServiceImplTest.java
@@ -0,0 +1,75 @@
+package io.aera.service.impl;
+
+import io.aera.config.AppConfig;
+import io.aera.config.application.WebConfig;
+import io.aera.entity.User;
+import io.aera.service.UserService;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.web.WebAppConfiguration;
+import static org.junit.Assert.*;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = {WebConfig.class, AppConfig.class})
+@WebAppConfiguration
+public class UserServiceImplTest {
+ @Autowired
+ private UserService userService;
+
+ @Test
+ public void testRegisterUser() {
+ User user = userService.register(createUser());
+ assertNotNull(userService.getById(user.getId()));
+ User userForComparison = userService.getById(user.getId());
+ assertEquals("raketa", userForComparison.getLogin());
+ userService.deleteStory(user.getId());
+ }
+
+ @Test
+ public void testGetUserByIdNameOrList(){
+ User user = userService.register(createUser());
+ assertNotNull(userService.getById(user.getId()));
+ assertNotNull(userService.findByLogin(user.getLogin()));
+ assertNotNull(userService.getListofUsers());
+ userService.deleteStory(user.getId());
+ }
+
+ @Test
+ public void testUpdateUser(){
+ User user = userService.register(createUser());
+ User updatedUser = updateUser(user);
+ userService.update(updatedUser);
+ assertNotNull(userService.getById(updatedUser.getId()));
+ User result = userService.getById(user.getId());
+ assertEquals("phill", result.getLogin());
+ userService.deleteStory(updatedUser.getId());
+ }
+
+ @Test
+ public void testDeleteUser(){
+ User user = userService.register(createUser());
+ assertNotNull(userService.getById(user.getId()));
+ userService.deleteStory(user.getId());
+ assertNull(userService.getById(user.getId()));
+ }
+
+ private User updateUser(User user) {
+ User newUser = user;
+ newUser.setLogin("phill");
+ newUser.setFirstname("Phillip");
+ return newUser;
+ }
+
+ private User createUser(){
+ User user = new User();
+ user.setLogin("raketa");
+ user.setFirstname("Ivan");
+ user.setLastname("Ivanov");
+ user.setPassword("raketa");
+ user.setEmail("ivan@yandex.ru");
+ return user;
+ }
+}
diff --git a/web/WEB-INF/views/css/user_register.css b/web/WEB-INF/views/css/user_register.css
new file mode 100644
index 0000000..3eea669
--- /dev/null
+++ b/web/WEB-INF/views/css/user_register.css
@@ -0,0 +1,24 @@
+.wrap {
+ min-height: 100%;
+ height: auto;
+ margin: 0 auto -60px;
+ padding: 0 0 60px;
+}
+
+.wrap > .container {
+ padding: 70px 15px 20px;
+}
+
+.required label:after {
+ content: '*';
+ color: red;
+}
+
+.form-group > .help-block {
+ color: red;
+ display: none;
+}
+
+.form-group.has-error > .help-block {
+ display: block;
+}
diff --git a/web/WEB-INF/views/index.jsp b/web/WEB-INF/views/index.jsp
index dca7935..c60e8b0 100644
--- a/web/WEB-INF/views/index.jsp
+++ b/web/WEB-INF/views/index.jsp
@@ -1,9 +1,15 @@
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
- Title
+ Aera project
-${attr}
+
+
+Welcome to Aera!
+
+">Login |
+">Register
diff --git a/web/WEB-INF/views/user/login.jsp b/web/WEB-INF/views/user/login.jsp
new file mode 100644
index 0000000..e5fa09f
--- /dev/null
+++ b/web/WEB-INF/views/user/login.jsp
@@ -0,0 +1,32 @@
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+
+
+ Login
+
+
+
+
+
+
+
+
+
+
diff --git a/web/WEB-INF/views/user/register.jsp b/web/WEB-INF/views/user/register.jsp
new file mode 100644
index 0000000..233189f
--- /dev/null
+++ b/web/WEB-INF/views/user/register.jsp
@@ -0,0 +1,174 @@
+<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+
+
+ Register new user
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/web/WEB-INF/views/user/status.jsp b/web/WEB-INF/views/user/status.jsp
new file mode 100644
index 0000000..110f9d5
--- /dev/null
+++ b/web/WEB-INF/views/user/status.jsp
@@ -0,0 +1,16 @@
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+
+
+ Status
+
+
+
+Welcome!
+UserName: ${user.firstname}
+UserLastName: ${user.lastname}
+UserEmail: ${user.email}
+
+">Update
+
+
diff --git a/web/WEB-INF/views/user/update.jsp b/web/WEB-INF/views/user/update.jsp
new file mode 100644
index 0000000..7a604e6
--- /dev/null
+++ b/web/WEB-INF/views/user/update.jsp
@@ -0,0 +1,173 @@
+<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+
+
+ Update Profile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file