Skip to content

Commit 68b5e91

Browse files
committed
Añadidos tests salida correcta y nula
1 parent f3047e0 commit 68b5e91

4 files changed

Lines changed: 91 additions & 5 deletions

File tree

src/main/java/com/sopromadze/blogapi/controller/AlbumController.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ public PagedResponse<AlbumResponse> getAllAlbums(
5757
@PostMapping
5858
@PreAuthorize("hasRole('USER')")
5959
public ResponseEntity<Album> addAlbum(@Valid @RequestBody AlbumRequest albumRequest, @CurrentUser UserPrincipal currentUser) {
60-
return albumService.addAlbum(albumRequest, currentUser);
60+
return ResponseEntity.status(HttpStatus.CREATED).body(albumService.addAlbum(albumRequest, currentUser));
61+
6162
}
6263

6364
@GetMapping("/{id}")

src/main/java/com/sopromadze/blogapi/service/AlbumService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public interface AlbumService {
1212

1313
PagedResponse<AlbumResponse> getAllAlbums(int page, int size);
1414

15-
ResponseEntity<Album> addAlbum(AlbumRequest albumRequest, UserPrincipal currentUser);
15+
Album addAlbum(AlbumRequest albumRequest, UserPrincipal currentUser);
1616

1717
ResponseEntity<Album> getAlbum(Long id);
1818

src/main/java/com/sopromadze/blogapi/service/impl/AlbumServiceImpl.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,16 +68,16 @@ public PagedResponse<AlbumResponse> getAllAlbums(int page, int size) {
6868
}
6969

7070
@Override
71-
public ResponseEntity<Album> addAlbum(AlbumRequest albumRequest, UserPrincipal currentUser) {
71+
public Album addAlbum(AlbumRequest albumRequest, UserPrincipal currentUser) {
7272
User user = userRepository.getUser(currentUser);
7373

7474
Album album = new Album();
7575

7676
modelMapper.map(albumRequest, album);
7777

7878
album.setUser(user);
79-
Album newAlbum = albumRepository.save(album);
80-
return new ResponseEntity<>(newAlbum, HttpStatus.CREATED);
79+
80+
return albumRepository.save(album);
8181
}
8282

8383
@Override
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
package com.sopromadze.blogapi.serviceTest.album;
2+
3+
4+
import com.sopromadze.blogapi.model.Album;
5+
import com.sopromadze.blogapi.model.user.User;
6+
import com.sopromadze.blogapi.payload.request.AlbumRequest;
7+
import com.sopromadze.blogapi.repository.AlbumRepository;
8+
import com.sopromadze.blogapi.repository.UserRepository;
9+
import com.sopromadze.blogapi.security.UserPrincipal;
10+
import com.sopromadze.blogapi.service.impl.AlbumServiceImpl;
11+
import org.junit.jupiter.api.DisplayName;
12+
import org.junit.jupiter.api.Test;
13+
import org.junit.jupiter.api.extension.ExtendWith;
14+
import org.junit.jupiter.params.ParameterizedTest;
15+
import org.junit.jupiter.params.provider.NullAndEmptySource;
16+
import org.junit.jupiter.params.provider.NullSource;
17+
import org.mockito.InjectMocks;
18+
import org.mockito.Mock;
19+
import org.mockito.junit.jupiter.MockitoExtension;
20+
import org.mockito.junit.jupiter.MockitoSettings;
21+
import org.mockito.quality.Strictness;
22+
import org.modelmapper.ModelMapper;
23+
24+
import java.util.Collections;
25+
26+
import static org.assertj.core.api.Assertions.assertThat;
27+
import static org.junit.jupiter.api.Assertions.*;
28+
import static org.mockito.Mockito.when;
29+
30+
@ExtendWith (MockitoExtension.class)
31+
@MockitoSettings (strictness = Strictness.LENIENT)
32+
public class AddAlbum {
33+
34+
@Mock
35+
private AlbumRepository albumRepository;
36+
37+
@Mock
38+
private UserRepository userRepository;
39+
40+
@Mock
41+
private ModelMapper modelMapper;
42+
43+
@InjectMocks
44+
AlbumServiceImpl albumService;
45+
46+
/*
47+
Test: Comprobar se añade un usuario a un nuevo album
48+
Entrada: albumService.addAlbum(albumRequest,userPrincipal
49+
Salida esperada: El test se realiza con exito
50+
*/
51+
@DisplayName("add Album to User")
52+
@Test
53+
void addAlbum_Success() {
54+
User user = new User("Pepe","Garcia", "Sony777","sony777@gmail.com","1234");
55+
user.setId(1L);
56+
57+
UserPrincipal userPrincipal = new UserPrincipal(1L,"Pepe","Garcia", "Sony777","sony777@gmail.com","1234", Collections.emptyList());
58+
when(userRepository.getUserByName(userPrincipal.getUsername())).thenReturn(user);
59+
Album album = new Album();
60+
AlbumRequest albumRequest= new AlbumRequest();
61+
album.setUser(userRepository.getUser(userPrincipal));
62+
when(albumRepository.save(album)).thenReturn(album);
63+
64+
assertEquals(albumService.addAlbum(albumRequest,userPrincipal),album);
65+
66+
}
67+
68+
/*
69+
Test: Comprobar se añade un usuario a un nuevo album
70+
Entrada: albumService.addAlbum(albumRequest,userPrincipal)
71+
Salida esperada: La respuesta deberia ser nula siendo el usuarioPrincipal nulo
72+
*/
73+
@DisplayName("Not added Album to User (null)")
74+
@ParameterizedTest
75+
@NullSource
76+
void addAlbum_SuccessWhenNull(UserPrincipal userPrincipal) {
77+
78+
User user = new User();
79+
Album album = new Album();
80+
AlbumRequest albumRequest= new AlbumRequest();
81+
album.setUser(user);
82+
assertNull(albumService.addAlbum(albumRequest,userPrincipal));
83+
84+
}
85+
}

0 commit comments

Comments
 (0)