Commit 3d6f570af580149aea7d27e3dd28ed61c422a71a
1 parent
b43364bf
Exists in
master
Refatoramento do teste unitário em função do método findAll
Showing
1 changed file
with
39 additions
and
21 deletions
Show diff stats
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(); |