package org.ijsolutions.testing; import java.util.Date; import org.ijsolutions.testbench.Course; import org.ijsolutions.testbench.TestBench; import org.ijsolutions.testbench.learninggroup.CourseEntry; import org.ijsolutions.testbench.learninggroup.LearningGroup; import org.ijsolutions.testbench.learninggroup.LearningGroupSearcher; import org.ijsolutions.testbench.modules.InstructorModule; import org.ijsolutions.testbench.modules.LearningGroupModule; import org.openedit.BaseTestCase; import org.openedit.WebPageRequest; import org.openedit.hittracker.HitTracker; import org.openedit.users.Group; import org.openedit.users.User; import org.openedit.users.UserManager; public class LearningGroupTest extends BaseTestCase { public void testLoadAndSave() throws Exception { LearningGroupModule mod = (LearningGroupModule) getBean("LearningGroupModule"); WebPageRequest req = getFixture().createPageRequest( "/testbench/instructor/tests"); TestBench bench = mod.getTestBench(req); LearningGroupSearcher searcher = bench.getLearningGroupSearcher(); LearningGroup group = (LearningGroup) searcher .searchById("testlearninggroup"); if(group != null){ searcher.delete(group, null); group = (LearningGroup) searcher .searchById("testlearninggroup"); } assertNull(group); group = (LearningGroup) searcher.createNewData(); group.setId("testlearninggroup"); group.setName("TRP Fall 2010"); searcher.saveData(group, null); LearningGroup loadedgroup = (LearningGroup) searcher .searchById("testlearninggroup"); assertNotNull(loadedgroup); Course course = bench.getCourse("pati"); assertNotNull(course); CourseEntry entry = new CourseEntry(); entry.setId("pati"); entry.setCourse(course); entry.setStartDate(new Date()); entry.setEndDate(new Date()); loadedgroup.addCourse(entry); searcher.saveData(loadedgroup, null); searcher.clearIndex(); loadedgroup = (LearningGroup) searcher.searchById("testlearninggroup"); assertNotNull(loadedgroup.getCourses()); assertTrue(loadedgroup.getCourses().size() > 0); CourseEntry loadedentry = (CourseEntry) loadedgroup.getCourses().get(0); assertEquals(loadedentry.getCourse().getId(), "pati"); //test loading course through module WebPageRequest inReq = getFixture().createPageRequest("/testbench/classes/testlearninggroup/index.html"); loadedgroup = mod.loadCourse(inReq); assertNotNull(loadedgroup); } //This needs to be updated once we have solidified on this. public void xtestInstructorTools() throws Exception { InstructorModule mod = (InstructorModule) getBean("InstructorModule"); WebPageRequest req = getFixture().createPageRequest( "/testbench/instructor/tests"); TestBench bench = mod.getTestBench(req); bench.getTestSearcher().reIndexAll(); req.setRequestParameter("groupid", "students"); HitTracker hits = mod.searchTests(req); assertNotNull(hits); int resultcount = hits.size(); assertTrue(resultcount > 0); User instructor = getFixture().getUserManager().getUser("teacher"); assertNotNull(instructor); req.setUser(instructor); hits = mod.searchTests(req); int teacherhits = hits.size(); // assertNotSame(resultcount, teacherhits); User student1 = getFixture().getUserManager().getUser("student1"); assertNotNull(student1); req.setUser(student1); hits = mod.searchTests(req); int studentscount = hits.size(); assertNotSame(teacherhits, studentscount); } protected void setupGroupsAndUsers() { UserManager um = getFixture().getUserManager(); Group students = um.getGroup("testlearninggroup-students"); if (students == null) { students = um.createGroup("testlearninggroup-students","testlearninggroup-students"); um.saveGroup(students); } Group teachers = um.getGroup("testlearninggroup-instructors"); if (teachers == null) { teachers = um.createGroup("testlearninggroup-students","testlearninggroup-instructors"); teachers.addPermission("testing.instructor"); um.saveGroup(teachers); } try { User one = um.createUser("student1", "test"); one.addGroup(students); um.saveUser(one); one = um.createUser("student2", "test"); one.addGroup(students); um.saveUser(one); one = um.createUser("teacher", "test"); one.addGroup(teachers); um.saveUser(one); } catch (Exception e) { } } public void setUp() { setupGroupsAndUsers(); } }