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> {
*/
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.
* @param ids Primary keys.
......
......@@ -44,9 +44,16 @@ public class DaoBaseImpl<ENTITY extends EntityBase> implements DaoBase<ENTITY> {
@Override
public ENTITY get(long id) {
return get(id, true);
}
@Override
public ENTITY get(long id, boolean useCachedResults) {
try {
var entity = entityManager.find(entityClass, id);
entityManager.refresh(entity);
if (!useCachedResults) {
entityManager.refresh(entity);
}
return entity;
}
catch (Exception ex) {
......
......@@ -53,7 +53,7 @@ public abstract class PersistenceServiceImpl<DTO extends PersistentDtoBase, ENTI
@Override
@Transactional
public DTO get(long id) {
var entity = dao.get(id);
var entity = dao.get(id, false);
return mapToDto(entity);
}
......
......@@ -46,10 +46,10 @@ public abstract class PersistenceServiceTestBase<DTO extends PersistentDtoBase,
@Test
public void testGet() {
var dao = getMockedDao();
Mockito.when(dao.get(1)).thenReturn(getTestEntity());
Mockito.when(dao.get(1, false)).thenReturn(getTestEntity());
var dto = getPersistenceService().get(1);
assertThat(equals(dto, getTestEntity())).isTrue();
Mockito.verify(dao, Mockito.times(1)).get(1);
Mockito.verify(dao, Mockito.times(1)).get(1, false);
}
@Test
......
......@@ -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.persistence.dao.DaoBase;
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.WineBottle;
import cz.muni.fi.pa165.winery.services.PersistenceServiceImpl;
......@@ -39,10 +40,10 @@ public class OrderItemServiceTests extends PersistenceServiceTestBase<OrderItemD
void testGetItem() {
getPersistenceService();
var dao = getMockedDao();
Mockito.when(dao.get(1)).thenReturn(getTestEntity());
Mockito.when(dao.get(1, false)).thenReturn(getTestEntity());
var dto = orderItemService.get(1);
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())
.isEqualTo(getTestEntity().getBottle().getId());
}
......@@ -50,12 +51,13 @@ public class OrderItemServiceTests extends PersistenceServiceTestBase<OrderItemD
@Override
protected OrderItemDto getTestDto() {
var dto = new OrderItemDto();
dto.setId(1);
dto.setBottleId(1);
dto.setId(10);
dto.setBottleId(11);
dto.setOrderId(1);
dto.setQuantity(new BigDecimal(3));
var bottle = new WineBottleDto();
bottle.setId(1);
bottle.setId(11);
bottle.setName("Some wine");
bottle.setPrice(new BigDecimal(200));
bottle.setStock(3);
......@@ -68,12 +70,16 @@ public class OrderItemServiceTests extends PersistenceServiceTestBase<OrderItemD
@Override
protected OrderItem getTestEntity() {
var order = new Order();
order.setId(1);
var orderItem = new OrderItem();
orderItem.setId(1);
orderItem.setId(10);
orderItem.setOrder(order);
orderItem.setQuantity(new BigDecimal(3));
var bottle = new WineBottle();
bottle.setId(1);
bottle.setId(11);
bottle.setName("Some wine");
bottle.setPrice(new BigDecimal(200));
bottle.setStock(3);
......
......@@ -91,6 +91,7 @@ public class OrderServiceTests extends PersistenceServiceTestBase<OrderDto, Orde
item.setId(10);
item.setBottleId(11);
item.setQuantity(new BigDecimal(2));
item.setOrderId(1);
var bottle = new WineBottleDto();
bottle.setId(11);
......@@ -106,6 +107,7 @@ public class OrderServiceTests extends PersistenceServiceTestBase<OrderDto, Orde
protected Order getTestEntity() {
var order = new Order();
order.setId(1);
var user = new User();
user.setId(2);
order.setUser(user);
......@@ -114,6 +116,7 @@ public class OrderServiceTests extends PersistenceServiceTestBase<OrderDto, Orde
var item = new OrderItem();
item.setId(10);
item.setOrder(order);
item.setQuantity(new BigDecimal(2));
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