Notificationquery test

Change-Id: I072e56adae84d851a1823605ea8d5dd75e4141f1
This commit is contained in:
joha-asc 2011-07-13 10:38:07 +02:00
parent 74819ea792
commit 4fd9a45938
2 changed files with 109 additions and 0 deletions

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"
default-autowire="byName">
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
<property name="persistenceUnitName" value="testPersistenceUnit" />
</bean>
<!--
enable the configuration of transactional behavior based on
annotations
-->
<tx:annotation-driven transaction-manager="transactionManager" />
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<bean id="userDao" class="se.su.dsv.scipro.data.dao.jpa.UserDaoJPAImp">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<bean id="notificationDao" class="se.su.dsv.scipro.data.dao.jpa.NotificationDaoJPAImp">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
</beans>

@ -0,0 +1,78 @@
/**
*
*/
package se.su.dsv.scipro.dao.jpa;
import java.util.HashSet;
import java.util.Set;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.transaction.annotation.Transactional;
import se.su.dsv.scipro.data.dao.interfaces.NotificationDao;
import se.su.dsv.scipro.data.dao.interfaces.UserDao;
import se.su.dsv.scipro.data.dataobjects.Notification;
import se.su.dsv.scipro.data.dataobjects.User;
/**
* @author Johan Aschan - aschan@dsv.su.se
*
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
public class TestNotificationDaoJPA {
@Autowired
private UserDao userDao;
@Autowired
private NotificationDao notificationDao;
private User user;
@Before
public void startTransaction()
{
user = new User();
user.setEmailAddress("test@dsv.su.se");
user.setIdentifier(new Long(666));
user.setFirstName("Test");
user.setLastName("Person");
user = userDao.save(user);
Notification notification = new Notification();
notification.setInfoText("Test");
Set<User> users = new HashSet<User>();
users.add(user);
notification.setSubscribers(users);
notificationDao.save(notification);
}
@Test
@Transactional
@Rollback
public void testGetNotifications() {
Assert.assertEquals(1, notificationDao.getNotifications(user).size());
}
@Test
@Transactional
@Rollback
public void testGetNumberOfNotifications() {
Assert.assertEquals(1, notificationDao.getNumberOfNotifications(user));
}
}