/** * Copyright SocialSite (C) 2009 * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package com.socialsite.dao.hibernate; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import java.util.Date; import org.apache.wicket.extensions.markup.html.repeater.util.SortParam; import org.junit.Test; import org.springframework.transaction.annotation.Transactional; import com.socialsite.authentication.SignUpPage; import com.socialsite.dao.AbstractDaoTestHelper; import com.socialsite.persistence.Admin; import com.socialsite.persistence.Course; import com.socialsite.persistence.Staff; import com.socialsite.persistence.Student; import com.socialsite.persistence.University; import com.socialsite.persistence.User; import com.socialsite.util.SpringWicketTester; /** * * * * @author Ananth * */ public class UniversityDaoTest extends AbstractDaoTestHelper { @Test @Transactional public void testCountAll() { final University u = new University("test"); universityDao.save(u); assertEquals(1, universityDao.countAll("")); } @Test @Transactional public void testFinlAll() { // TODO check some more conditions final University u = new University("test"); universityDao.save(u); assertEquals(1, universityDao.findAll("te", 0, 5, new SortParam("name", true)).size()); } @Test @Transactional public void testGetImage() { tester = new SpringWicketTester(); tester.startPage(SignUpPage.class); final University university1 = new University("testuniversity"); setDefaultImage(university1); saveUniversities(university1); assertNotNull(universityDao.getImage(university1.getId())); } @Test @Transactional public void testGetLastModifiedTime() { final Date date = new Date(); // courses final University university1 = new University("testuniversity"); university1.setLastModified(date); saveUniversities(university1); assertEquals(date.getTime() / 1000, universityDao.getLastModifiedTime(university1.getId()) .getTime() / 1000); } @Test @Transactional public void testGetThumb() { tester = new SpringWicketTester(); tester.startPage(SignUpPage.class); final University university1 = new University("testuniversity"); setDefaultImage(university1); saveUniversities(university1); assertNotNull(universityDao.getThumb(university1.getId())); } @Test @Transactional public void testGetStudents() { // create some students final User user1 = new Student("user1", "password"); final User user2 = new Student("user2", "password"); final User user3 = new Student("user3", "password"); final User user4 = new Student("user4", "password"); saveUsers(user1, user2, user3, user4); // create admin for university final Admin admin1 = new Admin("admin1", "password"); saveUsers(admin1); // create universities final University university1 = new University("University1", admin1); saveUniversities(university1); // staffs final Staff staff1 = new Staff("staff1", "password", university1); final Staff staff2 = new Staff("staff2", "password", university1); saveUsers(staff1, staff2); // courses final Course course1 = new Course("course1", staff1); final Course course2 = new Course("course2", staff2); final Course course3 = new Course("course3", staff2); saveCourses(course1, course2, course3); joinCourse(user1, course1, course2, course3); joinCourse(user2, course3); joinCourse(user3, course3); joinCourse(user4, course1, course2); assertEquals(4, universityDao.getStudents(university1.getId()).size()); assertEquals(4, universityDao.getStudentsCount(university1.getId())); } }