package com.globant.katari.sample.time.domain; import java.util.Date; import java.util.List; import junit.framework.TestCase; import com.globant.katari.sample.testsupport.SpringTestUtils; import com.globant.katari.user.domain.User; import com.globant.katari.user.domain.UserRepository; /** This class represents a TestCase of the time entry repository. */ public class TimeRepositoryTest extends TestCase { /** The time entry repository. */ private TimeRepository timeRepository; /** The user repository. */ private UserRepository userRepository; Activity activity; Project project; User user; /** This is a set up method of this TestCase. */ protected final void setUp() { timeRepository = (TimeRepository) SpringTestUtils .getTimeModuleBeanFactory().getBean("timeRepository"); userRepository = (UserRepository) SpringTestUtils .get().getBeanFactory().getBean("user.userRepository"); user = userRepository.findUserByName("admin"); List<TimeEntry> list = timeRepository.getTimeEntries(user, new Date()); for (TimeEntry timeEntry : list) { timeRepository.remove(timeEntry); } List<Activity> activities = timeRepository.getActivities(); activity = activities.get(0); List<Project> projects = timeRepository.getProjects(); project = projects.get(0); TimePeriod period = new TimePeriod("09:00", 120); TimeEntry timeEntry = new TimeEntry(activity, user, project, new Date(), period, "Test note"); timeRepository.save(timeEntry); } /** Test find activity feature. */ public final void testFindActivity() { Activity loadedActivity = timeRepository.findActivity(activity.getId()); assertEquals(activity.getId(), loadedActivity.getId()); loadedActivity = timeRepository.findActivity(-1); assertNull(loadedActivity); } /** Test find project feature. */ public final void testFindProject() { Project loadedProject = timeRepository.findProject(project.getId()); assertEquals(project.getId(), loadedProject.getId()); loadedProject = timeRepository.findProject(-1); assertNull(loadedProject); } /** Test find time entry feature. */ public final void testFindTimeEntry() { List<TimeEntry> timeEntryList; timeEntryList = timeRepository.getTimeEntries(user, new Date()); TimeEntry timeEntry = timeRepository.findTimeEntry( timeEntryList.get(0).getId()); assertEquals(timeEntryList.get(0).getId(), timeEntry.getId()); timeEntry = timeRepository.findTimeEntry(-1); assertNull(timeEntry); } /** Test get prjects method. */ public final void testGetProjects() { List<Project> list = timeRepository.getProjects(); assertFalse(list.isEmpty()); } /** Test get activities method. */ public final void testGetActivities() { List<Activity> list = timeRepository.getActivities(); assertFalse(list.isEmpty()); } /** Test save time entry method. */ public final void testSave_timeEntry() { TimePeriod period = new TimePeriod("09:00", 120); TimeEntry timeEntry = new TimeEntry(activity, user, project, new Date(), period, "Test note"); timeRepository.save(timeEntry); TimeEntry savedTimeEntry = timeRepository.findTimeEntry(timeEntry.getId()); assertEquals(timeEntry.getId(), savedTimeEntry.getId()); } }