package org.opentides.dao.impl; import static org.junit.Assert.*; import java.util.Arrays; import java.util.List; import org.junit.Test; import org.opentides.bean.Widget; import org.opentides.bean.user.BaseUser; import org.opentides.dao.UserDao; import org.opentides.dao.WidgetDao; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.TransactionStatus; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.support.TransactionCallbackWithoutResult; public class WidgetDaoIntegrationTest extends BaseDaoTest { @Autowired private WidgetDao widgetDao; @Autowired private UserDao userDao; @Test @Transactional public void testFindDefaultWidget() { transactionTemplate.execute(new TransactionCallbackWithoutResult() { @Override protected void doInTransactionWithoutResult(TransactionStatus status) { BaseUser user = userDao.loadEntityModel(1l); List<Widget> actual = widgetDao.findDefaultWidget(user); assertNotNull(actual); assertEquals(2, actual.size()); Widget widget1 = widgetDao.loadEntityModel(1l); Widget widget2 = widgetDao.loadEntityModel(3l); List<Widget> expected = Arrays.asList(widget1, widget2); assertEquals(expected, actual); } }); } @Test public void testFindWidgetWithAccessCode() { transactionTemplate.execute(new TransactionCallbackWithoutResult() { @Override protected void doInTransactionWithoutResult(TransactionStatus status) { List<Widget> actual = widgetDao.findWidgetWithAccessCode(Arrays.asList("ACCESS_CODE_1", "ACCESS_CODE_2")); assertNotNull(actual); assertEquals(2, actual.size()); Widget widget1 = widgetDao.loadEntityModel(1l); Widget widget2 = widgetDao.loadEntityModel(2l); List<Widget> expected = Arrays.asList(widget1, widget2); assertEquals(expected, actual); } }); } }