package org.businessmanager.service; import java.util.List; import junit.framework.Assert; import org.businessmanager.domain.Activity; import org.businessmanager.domain.Activity.ActivityType; import org.businessmanager.domain.ModificationType; import org.businessmanager.dto.ActivityDto; import org.businessmanager.web.bean.ContactActivityBean; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.transaction.TransactionConfiguration; import org.springframework.transaction.annotation.Transactional; @ContextConfiguration("/test-context.xml") @RunWith(SpringJUnit4ClassRunner.class) @Transactional @TransactionConfiguration(defaultRollback=true) public class ActivityServiceTest { @Autowired private ActivityService activityService; @Test public void testSaveActivity() { //check initial, expected size=0 List<ActivityDto> recentActivities = activityService.getRecentActivities(10); Assert.assertEquals(0, recentActivities.size()); saveActivity(1L); //check after, expected size=1 recentActivities = activityService.getRecentActivities(10); Assert.assertEquals(1, recentActivities.size()); } private void saveActivity(Long userId) { Activity activity1 = new Activity(userId, ActivityType.CONTACT); activityService.saveActivity(activity1); } @Test public void testGetRecentActivity() { //check initial, expected size=0 List<ActivityDto> recentActivities = activityService.getRecentActivities(10); Assert.assertEquals(0, recentActivities.size()); //add 20 activities for (int i = 0; i < 20; i++) { saveActivity(1L); } //check after, expected size=10 recentActivities = activityService.getRecentActivities(10); Assert.assertEquals(10, recentActivities.size()); //check after, expected size=20 recentActivities = activityService.getRecentActivities(20); Assert.assertEquals(20, recentActivities.size()); } @Test public void testGetRecentActivityByUser() { //check initial, expected size=0 List<ActivityDto> recentActivities = activityService.getRecentActivities(10); Assert.assertEquals(0, recentActivities.size()); //add 10 activities long userId = 0L; for (int i = 0; i < 10; i++) { if(i % 5 == 0) { userId++; } saveActivity(userId); } //check all activities, expected total size=10 recentActivities = activityService.getRecentActivities(10); Assert.assertEquals(10, recentActivities.size()); //check activities for userId=1, expected size=5 recentActivities = activityService.getRecentActivitiesByUser(1L, 10); Assert.assertEquals(5, recentActivities.size()); } @Test public void testWithData() { //check initial, expected size=0 List<ActivityDto> recentActivities = activityService.getRecentActivities(10); Assert.assertEquals(0, recentActivities.size()); //add 1 activity Activity activity1 = new Activity(5L, ActivityType.CONTACT); String json = new ContactActivityBean("Test user", ModificationType.CREATE, "Erich Gamma").toJson(); activity1.setData(json); activityService.saveActivity(activity1); //check activities, expected size=1 recentActivities = activityService.getRecentActivities(1); Assert.assertEquals(1, recentActivities.size()); ActivityDto dto = recentActivities.get(0); Assert.assertEquals("Test user CREATE Erich Gamma", dto.getUsername() + " " + dto.getActivity() + " " + dto.getObjectName()); } }