Commit 3d6f570af580149aea7d27e3dd28ed61c422a71a

Authored by Vanderson Silva
1 parent b43364bf
Exists in master

Refatoramento do teste unitário em função do método findAll

impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/template/JPACrudTest.java
@@ -129,28 +129,37 @@ public class JPACrudTest { @@ -129,28 +129,37 @@ public class JPACrudTest {
129 this.contactDAO.delete(this.contact.getId()); 129 this.contactDAO.delete(this.contact.getId());
130 verify(this.entityManager); 130 verify(this.entityManager);
131 } 131 }
132 - 132 +
  133 + private TypedQuery<Contact> makeTypedQuery() {
  134 + @SuppressWarnings("unchecked")
  135 + TypedQuery<Contact> typeQuery = EasyMock.createMock(TypedQuery.class);
  136 + expect(typeQuery.setFirstResult(EasyMock.anyInt())).andReturn(null);
  137 + expect(typeQuery.setMaxResults(EasyMock.anyInt())).andReturn(null);
  138 + expect(typeQuery.getResultList()).andReturn(createContacts(1));
  139 + return typeQuery;
  140 + }
  141 +
133 @Test 142 @Test
134 public void testCountAll() { 143 public void testCountAll() {
135 144
136 Pagination pagination = new PaginationImpl(); 145 Pagination pagination = new PaginationImpl();
  146 + pagination.setPageSize(10);
137 PaginationContext actualContext = PowerMock.createMock(PaginationContext.class); 147 PaginationContext actualContext = PowerMock.createMock(PaginationContext.class);
138 expect(actualContext.getPagination(Contact.class)).andReturn(pagination); 148 expect(actualContext.getPagination(Contact.class)).andReturn(pagination);
139 @SuppressWarnings("unchecked") 149 @SuppressWarnings("unchecked")
140 Instance<PaginationContext> paginationContext = PowerMock.createMock(Instance.class); 150 Instance<PaginationContext> paginationContext = PowerMock.createMock(Instance.class);
141 expect(paginationContext.get()).andReturn(actualContext); 151 expect(paginationContext.get()).andReturn(actualContext);
142 setInternalState(this.contactDAO, "paginationContext", paginationContext); 152 setInternalState(this.contactDAO, "paginationContext", paginationContext);
  153 +
  154 + TypedQuery<Contact> typeQuery = makeTypedQuery();
143 155
144 Query query = EasyMock.createMock(Query.class); 156 Query query = EasyMock.createMock(Query.class);
145 - expect(query.setFirstResult(EasyMock.anyInt())).andReturn(query);  
146 - expect(query.setMaxResults(EasyMock.anyInt())).andReturn(query);  
147 expect(query.getSingleResult()).andReturn(10L); 157 expect(query.getSingleResult()).andReturn(10L);
  158 +
  159 + expect(this.entityManager.createQuery("select this from Contact this", Contact.class)).andReturn(typeQuery);
  160 + expect(this.entityManager.createQuery("SELECT COUNT(THIS) FROM CONTACT THIS")).andReturn(query);
148 161
149 - expect(this.entityManager.createQuery("select this from Contact this")).andReturn(query);  
150 - expect(this.entityManager.createQuery("select count(this) from Contact this")).andReturn(query);  
151 - expect(query.getResultList()).andReturn(createContacts(1));  
152 -  
153 - replayAll(query, this.entityManager, paginationContext); 162 + replayAll(typeQuery, query, this.entityManager, paginationContext);
154 163
155 List<Contact> find = this.contactDAO.findAll(); 164 List<Contact> find = this.contactDAO.findAll();
156 165
@@ -171,11 +180,13 @@ public class JPACrudTest { @@ -171,11 +180,13 @@ public class JPACrudTest {
171 expect(paginationContext.get()).andReturn(actualContext); 180 expect(paginationContext.get()).andReturn(actualContext);
172 setInternalState(this.contactDAO, "paginationContext", paginationContext); 181 setInternalState(this.contactDAO, "paginationContext", paginationContext);
173 182
  183 + TypedQuery<Contact> typeQuery = makeTypedQuery();
  184 +
174 Query query = EasyMock.createMock(Query.class); 185 Query query = EasyMock.createMock(Query.class);
175 186
176 expect(query.getSingleResult()).andThrow(new DemoiselleException("")); 187 expect(query.getSingleResult()).andThrow(new DemoiselleException(""));
177 - expect(this.entityManager.createQuery("select this from Contact this")).andReturn(query);  
178 - expect(this.entityManager.createQuery("select count(this) from Contact this")).andReturn(query); 188 + expect(this.entityManager.createQuery("select this from Contact this", Contact.class)).andReturn(typeQuery);
  189 + expect(this.entityManager.createQuery("SELECT COUNT(THIS) FROM CONTACT THIS")).andReturn(query);
179 190
180 replayAll(query, this.entityManager, paginationContext); 191 replayAll(query, this.entityManager, paginationContext);
181 192
@@ -280,27 +291,31 @@ public class JPACrudTest { @@ -280,27 +291,31 @@ public class JPACrudTest {
280 291
281 @Test 292 @Test
282 public void testFindAll() { 293 public void testFindAll() {
283 - 294 +
  295 + Pagination pagination = new PaginationImpl();
  296 + pagination.setPageSize(10);
284 PaginationContext actualContext = PowerMock.createMock(PaginationContext.class); 297 PaginationContext actualContext = PowerMock.createMock(PaginationContext.class);
285 - expect(actualContext.getPagination(Contact.class)).andReturn(null); 298 + expect(actualContext.getPagination(Contact.class)).andReturn(pagination);
286 @SuppressWarnings("unchecked") 299 @SuppressWarnings("unchecked")
287 Instance<PaginationContext> paginationContext = PowerMock.createMock(Instance.class); 300 Instance<PaginationContext> paginationContext = PowerMock.createMock(Instance.class);
288 expect(paginationContext.get()).andReturn(actualContext); 301 expect(paginationContext.get()).andReturn(actualContext);
289 setInternalState(this.contactDAO, "paginationContext", paginationContext); 302 setInternalState(this.contactDAO, "paginationContext", paginationContext);
  303 +
  304 + TypedQuery<Contact> typeQuery = makeTypedQuery();
290 305
291 Query query = EasyMock.createMock(Query.class); 306 Query query = EasyMock.createMock(Query.class);
292 - // expect(query.setFirstResult(EasyMock.anyInt())).andReturn(query);  
293 - // expect(query.setMaxResults(EasyMock.anyInt())).andReturn(query);  
294 - expect(this.entityManager.createQuery("select this from Contact this")).andReturn(query);  
295 - expect(query.getResultList()).andReturn(createContacts(1)); 307 + expect(query.getSingleResult()).andReturn(10L);
  308 +
  309 + expect(this.entityManager.createQuery("select this from Contact this", Contact.class)).andReturn(typeQuery);
  310 + expect(this.entityManager.createQuery("SELECT COUNT(THIS) FROM CONTACT THIS")).andReturn(query);
296 311
297 - replayAll(query, this.entityManager, paginationContext); 312 + replayAll(typeQuery, query, this.entityManager, paginationContext);
298 313
299 List<Contact> find = this.contactDAO.findAll(); 314 List<Contact> find = this.contactDAO.findAll();
300 315
301 assertEquals(1, find.size()); 316 assertEquals(1, find.size());
302 assertTrue(find.iterator().next().getId().equals(1L)); 317 assertTrue(find.iterator().next().getId().equals(1L));
303 - 318 +
304 verifyAll(); 319 verifyAll();
305 } 320 }
306 321
@@ -313,12 +328,15 @@ public class JPACrudTest { @@ -313,12 +328,15 @@ public class JPACrudTest {
313 Instance<PaginationContext> paginationContext = PowerMock.createMock(Instance.class); 328 Instance<PaginationContext> paginationContext = PowerMock.createMock(Instance.class);
314 expect(paginationContext.get()).andReturn(actualContext); 329 expect(paginationContext.get()).andReturn(actualContext);
315 setInternalState(this.contactDAO, "paginationContext", paginationContext); 330 setInternalState(this.contactDAO, "paginationContext", paginationContext);
  331 +
  332 + @SuppressWarnings("unchecked")
  333 + TypedQuery<Contact> typeQuery = EasyMock.createMock(TypedQuery.class);
  334 + expect(typeQuery.getResultList()).andThrow(new DemoiselleException(""));
316 335
317 Query query = EasyMock.createMock(Query.class); 336 Query query = EasyMock.createMock(Query.class);
318 - expect(this.entityManager.createQuery("select this from Contact this")).andReturn(query);  
319 - expect(query.getResultList()).andThrow(new DemoiselleException("")); 337 + expect(this.entityManager.createQuery("select this from Contact this", Contact.class)).andReturn(typeQuery);
320 338
321 - replayAll(query, this.entityManager, paginationContext); 339 + replayAll(typeQuery, query, this.entityManager, paginationContext);
322 340
323 try { 341 try {
324 this.contactDAO.findAll(); 342 this.contactDAO.findAll();