File tree Expand file tree Collapse file tree
test/java/alexp/blog/service Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -47,7 +47,7 @@ public class User {
4747 @ JoinTable (name = "users_roles" ,
4848 joinColumns = @ JoinColumn (name = "user_id" , referencedColumnName = "id" ),
4949 inverseJoinColumns = @ JoinColumn (name = "role_id" , referencedColumnName = "id" ))
50- private Collection <Role > roles = new ArrayList <>();
50+ private List <Role > roles = new ArrayList <>();
5151
5252 @ OneToMany (fetch = FetchType .LAZY , cascade = CascadeType .ALL , mappedBy = "user" )
5353 public List <Comment > comments = new ArrayList <>();;
@@ -88,11 +88,11 @@ public boolean isEnabled() {
8888 return enabled ;
8989 }
9090
91- public Collection <Role > getRoles () {
91+ public List <Role > getRoles () {
9292 return roles ;
9393 }
9494
95- public void setRoles (Collection <Role > roles ) {
95+ public void setRoles (List <Role > roles ) {
9696 this .roles = roles ;
9797 }
9898
Original file line number Diff line number Diff line change 1+ package alexp .blog .repository ;
2+
3+ import alexp .blog .model .Role ;
4+ import org .springframework .data .jpa .repository .JpaRepository ;
5+
6+ public interface RoleRepository extends JpaRepository <Role , Long > {
7+
8+ Role findByName (String name );
9+ }
Original file line number Diff line number Diff line change 22
33import alexp .blog .model .Role ;
44import alexp .blog .model .User ;
5+ import alexp .blog .repository .RoleRepository ;
56import alexp .blog .repository .UserRepository ;
67import org .springframework .beans .factory .annotation .Autowired ;
78import org .springframework .security .authentication .AnonymousAuthenticationToken ;
@@ -25,6 +26,9 @@ public class UserServiceImpl implements UserService {
2526 @ Autowired
2627 private UserRepository userRepository ;
2728
29+ @ Autowired
30+ private RoleRepository roleRepository ;
31+
2832 @ Autowired
2933 private PasswordEncoder passwordEncoder ;
3034
@@ -68,6 +72,8 @@ public boolean emailExists(String email) {
6872 public void register (User user ) {
6973 user .setPassword (passwordEncoder .encode (user .getPassword ()));
7074
75+ user .getRoles ().add (roleRepository .findByName ("ROLE_USER" ));
76+
7177 user .setEnabled (true );
7278
7379 userRepository .saveAndFlush (user );
Original file line number Diff line number Diff line change 22
33import alexp .blog .model .Role ;
44import alexp .blog .model .User ;
5+ import alexp .blog .repository .RoleRepository ;
56import alexp .blog .repository .UserRepository ;
67import org .junit .Before ;
78import org .junit .Test ;
@@ -26,9 +27,13 @@ public class UserServiceTest {
2627
2728 public static final String NAME = "name" ;
2829 public static final String EMAIL = "email" ;
30+
2931 @ Mock
3032 private UserRepository userRepository ;
3133
34+ @ Mock
35+ private RoleRepository roleRepository ;
36+
3237 @ Mock
3338 private PasswordEncoder passwordEncoder ;
3439
@@ -86,13 +91,22 @@ public void shouldReturnNullWhenUsernameNotExists() {
8691
8792 @ Test
8893 public void shouldAddNewUser () {
94+ Role role = new Role ();
95+
96+ when (roleRepository .findByName (Matchers .anyString ())).thenReturn (role );
97+
8998 User user = new User ();
9099
91100 userService .register (user );
92101
93102 assertThat (user .isEnabled (), is (equalTo (true )));
94103
104+ assertThat (user .getRoles ().size (), is (equalTo (1 )));
105+ assertThat (user .getRoles ().get (0 ), is (role ));
106+
95107 verify (userRepository , times (1 )).saveAndFlush (user );
108+
109+ verify (roleRepository , times (1 )).findByName (Matchers .anyString ());
96110 }
97111
98112 @ Test
You can’t perform that action at this time.
0 commit comments