Commit 06b5f4b3 authored by Ondřej Pavlica's avatar Ondřej Pavlica
Browse files

Fix tests

parent c9cd8d55
Pipeline #140112 passed with stages
in 2 minutes and 23 seconds
...@@ -22,6 +22,14 @@ public interface DaoBase<ENTITY extends EntityBase> { ...@@ -22,6 +22,14 @@ public interface DaoBase<ENTITY extends EntityBase> {
*/ */
ENTITY get(long id); ENTITY get(long id);
/***
* Returns an entity with the given ID from the database.
* @param id Primary key.
* @param useCachedResults Whether to used DB entities already cached in memory or force DB load.
* @return An entity with the given primary key or null if the entity is not found.
*/
ENTITY get(long id, boolean useCachedResults);
/*** /***
* Returns entities with the given IDs from the database. * Returns entities with the given IDs from the database.
* @param ids Primary keys. * @param ids Primary keys.
......
...@@ -44,9 +44,16 @@ public class DaoBaseImpl<ENTITY extends EntityBase> implements DaoBase<ENTITY> { ...@@ -44,9 +44,16 @@ public class DaoBaseImpl<ENTITY extends EntityBase> implements DaoBase<ENTITY> {
@Override @Override
public ENTITY get(long id) { public ENTITY get(long id) {
return get(id, true);
}
@Override
public ENTITY get(long id, boolean useCachedResults) {
try { try {
var entity = entityManager.find(entityClass, id); var entity = entityManager.find(entityClass, id);
entityManager.refresh(entity); if (!useCachedResults) {
entityManager.refresh(entity);
}
return entity; return entity;
} }
catch (Exception ex) { catch (Exception ex) {
......
...@@ -53,7 +53,7 @@ public abstract class PersistenceServiceImpl<DTO extends PersistentDtoBase, ENTI ...@@ -53,7 +53,7 @@ public abstract class PersistenceServiceImpl<DTO extends PersistentDtoBase, ENTI
@Override @Override
@Transactional @Transactional
public DTO get(long id) { public DTO get(long id) {
var entity = dao.get(id); var entity = dao.get(id, false);
return mapToDto(entity); return mapToDto(entity);
} }
......
...@@ -46,10 +46,10 @@ public abstract class PersistenceServiceTestBase<DTO extends PersistentDtoBase, ...@@ -46,10 +46,10 @@ public abstract class PersistenceServiceTestBase<DTO extends PersistentDtoBase,
@Test @Test
public void testGet() { public void testGet() {
var dao = getMockedDao(); var dao = getMockedDao();
Mockito.when(dao.get(1)).thenReturn(getTestEntity()); Mockito.when(dao.get(1, false)).thenReturn(getTestEntity());
var dto = getPersistenceService().get(1); var dto = getPersistenceService().get(1);
assertThat(equals(dto, getTestEntity())).isTrue(); assertThat(equals(dto, getTestEntity())).isTrue();
Mockito.verify(dao, Mockito.times(1)).get(1); Mockito.verify(dao, Mockito.times(1)).get(1, false);
} }
@Test @Test
......
...@@ -4,6 +4,7 @@ import cz.muni.fi.pa165.winery.dto.order.OrderItemDto; ...@@ -4,6 +4,7 @@ import cz.muni.fi.pa165.winery.dto.order.OrderItemDto;
import cz.muni.fi.pa165.winery.dto.wine.WineBottleDto; import cz.muni.fi.pa165.winery.dto.wine.WineBottleDto;
import cz.muni.fi.pa165.winery.persistence.dao.DaoBase; import cz.muni.fi.pa165.winery.persistence.dao.DaoBase;
import cz.muni.fi.pa165.winery.persistence.dao.order.OrderItemDao; import cz.muni.fi.pa165.winery.persistence.dao.order.OrderItemDao;
import cz.muni.fi.pa165.winery.persistence.entities.Order;
import cz.muni.fi.pa165.winery.persistence.entities.OrderItem; import cz.muni.fi.pa165.winery.persistence.entities.OrderItem;
import cz.muni.fi.pa165.winery.persistence.entities.WineBottle; import cz.muni.fi.pa165.winery.persistence.entities.WineBottle;
import cz.muni.fi.pa165.winery.services.PersistenceServiceImpl; import cz.muni.fi.pa165.winery.services.PersistenceServiceImpl;
...@@ -39,10 +40,10 @@ public class OrderItemServiceTests extends PersistenceServiceTestBase<OrderItemD ...@@ -39,10 +40,10 @@ public class OrderItemServiceTests extends PersistenceServiceTestBase<OrderItemD
void testGetItem() { void testGetItem() {
getPersistenceService(); getPersistenceService();
var dao = getMockedDao(); var dao = getMockedDao();
Mockito.when(dao.get(1)).thenReturn(getTestEntity()); Mockito.when(dao.get(1, false)).thenReturn(getTestEntity());
var dto = orderItemService.get(1); var dto = orderItemService.get(1);
assertThat(equals(dto, getTestEntity())).isTrue(); assertThat(equals(dto, getTestEntity())).isTrue();
Mockito.verify(dao, Mockito.times(1)).get(1); Mockito.verify(dao, Mockito.times(1)).get(1, false);
assertThat(dto.getBottleId()) assertThat(dto.getBottleId())
.isEqualTo(getTestEntity().getBottle().getId()); .isEqualTo(getTestEntity().getBottle().getId());
} }
...@@ -50,12 +51,13 @@ public class OrderItemServiceTests extends PersistenceServiceTestBase<OrderItemD ...@@ -50,12 +51,13 @@ public class OrderItemServiceTests extends PersistenceServiceTestBase<OrderItemD
@Override @Override
protected OrderItemDto getTestDto() { protected OrderItemDto getTestDto() {
var dto = new OrderItemDto(); var dto = new OrderItemDto();
dto.setId(1); dto.setId(10);
dto.setBottleId(1); dto.setBottleId(11);
dto.setOrderId(1);
dto.setQuantity(new BigDecimal(3)); dto.setQuantity(new BigDecimal(3));
var bottle = new WineBottleDto(); var bottle = new WineBottleDto();
bottle.setId(1); bottle.setId(11);
bottle.setName("Some wine"); bottle.setName("Some wine");
bottle.setPrice(new BigDecimal(200)); bottle.setPrice(new BigDecimal(200));
bottle.setStock(3); bottle.setStock(3);
...@@ -68,12 +70,16 @@ public class OrderItemServiceTests extends PersistenceServiceTestBase<OrderItemD ...@@ -68,12 +70,16 @@ public class OrderItemServiceTests extends PersistenceServiceTestBase<OrderItemD
@Override @Override
protected OrderItem getTestEntity() { protected OrderItem getTestEntity() {
var order = new Order();
order.setId(1);
var orderItem = new OrderItem(); var orderItem = new OrderItem();
orderItem.setId(1); orderItem.setId(10);
orderItem.setOrder(order);
orderItem.setQuantity(new BigDecimal(3)); orderItem.setQuantity(new BigDecimal(3));
var bottle = new WineBottle(); var bottle = new WineBottle();
bottle.setId(1); bottle.setId(11);
bottle.setName("Some wine"); bottle.setName("Some wine");
bottle.setPrice(new BigDecimal(200)); bottle.setPrice(new BigDecimal(200));
bottle.setStock(3); bottle.setStock(3);
......
...@@ -91,6 +91,7 @@ public class OrderServiceTests extends PersistenceServiceTestBase<OrderDto, Orde ...@@ -91,6 +91,7 @@ public class OrderServiceTests extends PersistenceServiceTestBase<OrderDto, Orde
item.setId(10); item.setId(10);
item.setBottleId(11); item.setBottleId(11);
item.setQuantity(new BigDecimal(2)); item.setQuantity(new BigDecimal(2));
item.setOrderId(1);
var bottle = new WineBottleDto(); var bottle = new WineBottleDto();
bottle.setId(11); bottle.setId(11);
...@@ -106,6 +107,7 @@ public class OrderServiceTests extends PersistenceServiceTestBase<OrderDto, Orde ...@@ -106,6 +107,7 @@ public class OrderServiceTests extends PersistenceServiceTestBase<OrderDto, Orde
protected Order getTestEntity() { protected Order getTestEntity() {
var order = new Order(); var order = new Order();
order.setId(1); order.setId(1);
var user = new User(); var user = new User();
user.setId(2); user.setId(2);
order.setUser(user); order.setUser(user);
...@@ -114,6 +116,7 @@ public class OrderServiceTests extends PersistenceServiceTestBase<OrderDto, Orde ...@@ -114,6 +116,7 @@ public class OrderServiceTests extends PersistenceServiceTestBase<OrderDto, Orde
var item = new OrderItem(); var item = new OrderItem();
item.setId(10); item.setId(10);
item.setOrder(order);
item.setQuantity(new BigDecimal(2)); item.setQuantity(new BigDecimal(2));
var bottle = new WineBottle(); var bottle = new WineBottle();
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment