Skip to content

Commit 405a6e5

Browse files
committed
feat: Finalizado teste da entidade Book.
1 parent 6e8f59f commit 405a6e5

File tree

1 file changed

+88
-2
lines changed

1 file changed

+88
-2
lines changed

src/test/java/br/com/virtuallibrary/services/BookServicesTest.java

+88-2
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,33 @@
11
package br.com.virtuallibrary.services;
22

33
import static org.junit.Assert.assertNotNull;
4+
import static org.junit.Assert.assertTrue;
45
import static org.junit.jupiter.api.Assertions.assertEquals;
6+
import static org.junit.jupiter.api.Assertions.assertThrows;
7+
import static org.mockito.Mockito.times;
58
import static org.mockito.Mockito.when;
69

710
import java.util.ArrayList;
811
import java.util.Date;
12+
import java.util.HashMap;
913
import java.util.List;
14+
import java.util.Map;
1015
import java.util.Optional;
1116

17+
import javax.validation.ValidationException;
18+
1219
import org.junit.Before;
1320
import org.junit.Test;
1421
import org.junit.runner.RunWith;
22+
import org.mockito.Mockito;
1523
import org.springframework.beans.factory.annotation.Autowired;
1624
import org.springframework.boot.test.context.SpringBootTest;
1725
import org.springframework.boot.test.mock.mockito.MockBean;
1826
import org.springframework.test.context.junit4.SpringRunner;
1927

28+
import br.com.virtuallibrary.commons.services.BaseServiceImpl;
2029
import br.com.virtuallibrary.entity.Book;
30+
import br.com.virtuallibrary.entity.Book.BookBuilder;
2131
import br.com.virtuallibrary.repositories.BookRepository;
2232

2333
@SpringBootTest
@@ -51,17 +61,93 @@ public void setUp() {
5161
when(repository.save(ENTITY)).thenReturn(ENTITY);
5262
when(repository.findAll()).thenReturn(list);
5363
}
54-
64+
5565
@Test
5666
public void testContexLoads() {
5767
assertNotNull(service);
5868
assertNotNull(repository);
5969
}
60-
70+
6171
@Test
6272
public void testFindAll() {
6373
List<Book> list = service.findAll();
6474
assertEquals(list.size(), 1);
6575
}
6676

77+
@Test
78+
public void testFindByIdNull() {
79+
assertTrue(service.findById(null).isEmpty());
80+
}
81+
82+
@Test
83+
public void testFindByIdNaoExiste() {
84+
assertTrue(service.findById("ASDKJASH").isEmpty());
85+
}
86+
87+
@Test
88+
public void testFindById() {
89+
assertTrue(service.findById(ID).isPresent());
90+
}
91+
92+
@Test
93+
public void testSaveEntityNull() {
94+
assertTrue(service.save(null).isEmpty());
95+
}
96+
97+
@Test
98+
public void testSaveEntityEmpty() {
99+
assertTrue(service.save(new Book()).isEmpty());
100+
}
101+
102+
@Test
103+
public void testSaveEntity() {
104+
assertTrue(service.save(ENTITY).isPresent());
105+
}
106+
107+
@Test
108+
public void testDeleteEntityId() {
109+
service.delete(ID);
110+
Mockito.verify(repository, times(1)).deleteById(ID);
111+
}
112+
113+
@Test
114+
public void testDeleteEntityIdNull() {
115+
service.delete(null);
116+
Mockito.verify(repository, times(1)).deleteById(null);
117+
}
118+
119+
@Test
120+
public void testUpdateEntityIDInvalid() {
121+
assertTrue(service.update(new Book(), "ASKDJHASKJ").isEmpty());
122+
}
123+
124+
@Test
125+
public void testUpdateEntity() {
126+
BookBuilder<?,?> entity = Book.builder();
127+
entity.author("XPTO");
128+
assertTrue(service.update(entity.build(), ID).isPresent());
129+
}
130+
131+
@Test
132+
public void testUpdateEntityNull() {
133+
Book entity = null;
134+
Exception exception = assertThrows(IllegalArgumentException.class, () -> service.update(entity, ID));
135+
assertTrue(exception.getMessage().equals(BaseServiceImpl.A_ENTIDADE_NAO_PODE_SER_NULA));
136+
}
137+
138+
@Test
139+
public void testUpdateEntityMapValuesNull() throws SecurityException, IllegalArgumentException, IllegalAccessException {
140+
Map<String, String> updates = new HashMap<String, String>();
141+
updates.put("Teste", null);
142+
Exception exception = assertThrows(ValidationException.class, () -> service.update(updates, ID));
143+
assertTrue(exception.getMessage().equals(String.format("O campo %s não existe.", "Teste")));
144+
}
145+
146+
@Test
147+
public void testUpdateEntityMapValues() throws SecurityException, IllegalArgumentException, IllegalAccessException {
148+
Map<String, String> updates = new HashMap<String, String>();
149+
updates.put("author", "Daniel");
150+
assertTrue(service.update(updates, ID).isPresent());
151+
}
152+
67153
}

0 commit comments

Comments
 (0)