Search in sources :

Example 6 with RepositoryEntryLectureConfiguration

use of org.olat.modules.lecture.RepositoryEntryLectureConfiguration in project OpenOLAT by OpenOLAT.

the class RepositoryEntryLectureConfigurationDAOTest method createAndConfigureLectureConfiguration.

@Test
public void createAndConfigureLectureConfiguration() {
    RepositoryEntry entry = JunitTestHelper.createAndPersistRepositoryEntry();
    RepositoryEntryLectureConfiguration config = lectureConfigurationDao.createConfiguration(entry);
    dbInstance.commitAndCloseSession();
    config.setLectureEnabled(true);
    config.setOverrideModuleDefault(true);
    config.setCalculateAttendanceRate(Boolean.TRUE);
    config.setRequiredAttendanceRate(0.75d);
    config.setParticipantCalendarSyncEnabled(Boolean.TRUE);
    config.setTeacherCalendarSyncEnabled(Boolean.TRUE);
    RepositoryEntryLectureConfiguration mergedConfig = lectureConfigurationDao.update(config);
    dbInstance.commitAndCloseSession();
    RepositoryEntryLectureConfiguration reloadedConfig = lectureConfigurationDao.getConfiguration(entry);
    Assert.assertEquals(config, reloadedConfig);
    Assert.assertEquals(mergedConfig, reloadedConfig);
    Assert.assertEquals(true, reloadedConfig.isLectureEnabled());
    Assert.assertEquals(true, reloadedConfig.isOverrideModuleDefault());
    Assert.assertEquals(Boolean.TRUE, reloadedConfig.getCalculateAttendanceRate());
    Assert.assertEquals(0.75d, reloadedConfig.getRequiredAttendanceRate(), 0.0001);
    Assert.assertEquals(Boolean.TRUE, reloadedConfig.getParticipantCalendarSyncEnabled());
    Assert.assertEquals(Boolean.TRUE, reloadedConfig.getTeacherCalendarSyncEnabled());
}
Also used : RepositoryEntry(org.olat.repository.RepositoryEntry) RepositoryEntryLectureConfiguration(org.olat.modules.lecture.RepositoryEntryLectureConfiguration) Test(org.junit.Test)

Example 7 with RepositoryEntryLectureConfiguration

use of org.olat.modules.lecture.RepositoryEntryLectureConfiguration in project OpenOLAT by OpenOLAT.

the class RepositoryEntryLectureConfigurationDAOTest method getRepositoryEntryLectureConfiguration_lectureBlock.

@Test
public void getRepositoryEntryLectureConfiguration_lectureBlock() {
    RepositoryEntry entry = JunitTestHelper.createAndPersistRepositoryEntry();
    RepositoryEntryLectureConfiguration config = lectureConfigurationDao.createConfiguration(entry);
    dbInstance.commit();
    LectureBlock lectureBlock = lectureBlockDao.createLectureBlock(entry);
    lectureBlock.setStartDate(new Date());
    lectureBlock.setEndDate(new Date());
    lectureBlock.setTitle("Hello lecturers");
    lectureBlock = lectureBlockDao.update(lectureBlock);
    dbInstance.commitAndCloseSession();
    // get the configuration
    RepositoryEntryLectureConfiguration reloadedConfig = lectureConfigurationDao.getConfiguration(lectureBlock);
    Assert.assertEquals(config, reloadedConfig);
}
Also used : LectureBlock(org.olat.modules.lecture.LectureBlock) RepositoryEntry(org.olat.repository.RepositoryEntry) RepositoryEntryLectureConfiguration(org.olat.modules.lecture.RepositoryEntryLectureConfiguration) Date(java.util.Date) Test(org.junit.Test)

Example 8 with RepositoryEntryLectureConfiguration

use of org.olat.modules.lecture.RepositoryEntryLectureConfiguration in project OpenOLAT by OpenOLAT.

the class LectureBlockDAOTest method getRollCallAsTeacher.

@Test
public void getRollCallAsTeacher() {
    Identity teacher = JunitTestHelper.createAndPersistIdentityAsRndUser("teacher-1");
    RepositoryEntry entry = JunitTestHelper.createAndPersistRepositoryEntry();
    LectureBlock lectureBlock = createMinimalLectureBlock(entry);
    dbInstance.commitAndCloseSession();
    // enable lecture on this entry
    RepositoryEntryLectureConfiguration config = lectureService.getRepositoryEntryLectureConfiguration(entry);
    config.setLectureEnabled(true);
    config = lectureService.updateRepositoryEntryLectureConfiguration(config);
    lectureService.addTeacher(lectureBlock, teacher);
    dbInstance.commitAndCloseSession();
    List<LectureBlock> rollcalls = lectureBlockDao.getRollCallAsTeacher(teacher);
    Assert.assertNotNull(rollcalls);
    Assert.assertEquals(1, rollcalls.size());
    Assert.assertEquals(lectureBlock, rollcalls.get(0));
}
Also used : LectureBlock(org.olat.modules.lecture.LectureBlock) RepositoryEntry(org.olat.repository.RepositoryEntry) Identity(org.olat.core.id.Identity) RepositoryEntryLectureConfiguration(org.olat.modules.lecture.RepositoryEntryLectureConfiguration) Test(org.junit.Test)

Example 9 with RepositoryEntryLectureConfiguration

use of org.olat.modules.lecture.RepositoryEntryLectureConfiguration in project openolat by klemens.

the class LectureBlockDAOTest method getRollCallAsTeacher.

@Test
public void getRollCallAsTeacher() {
    Identity teacher = JunitTestHelper.createAndPersistIdentityAsRndUser("teacher-1");
    RepositoryEntry entry = JunitTestHelper.createAndPersistRepositoryEntry();
    LectureBlock lectureBlock = createMinimalLectureBlock(entry);
    dbInstance.commitAndCloseSession();
    // enable lecture on this entry
    RepositoryEntryLectureConfiguration config = lectureService.getRepositoryEntryLectureConfiguration(entry);
    config.setLectureEnabled(true);
    config = lectureService.updateRepositoryEntryLectureConfiguration(config);
    lectureService.addTeacher(lectureBlock, teacher);
    dbInstance.commitAndCloseSession();
    List<LectureBlock> rollcalls = lectureBlockDao.getRollCallAsTeacher(teacher);
    Assert.assertNotNull(rollcalls);
    Assert.assertEquals(1, rollcalls.size());
    Assert.assertEquals(lectureBlock, rollcalls.get(0));
}
Also used : LectureBlock(org.olat.modules.lecture.LectureBlock) RepositoryEntry(org.olat.repository.RepositoryEntry) Identity(org.olat.core.id.Identity) RepositoryEntryLectureConfiguration(org.olat.modules.lecture.RepositoryEntryLectureConfiguration) Test(org.junit.Test)

Example 10 with RepositoryEntryLectureConfiguration

use of org.olat.modules.lecture.RepositoryEntryLectureConfiguration in project openolat by klemens.

the class LectureServiceTest method getParticipantLecturesStatistics.

@Test
public void getParticipantLecturesStatistics() {
    RepositoryEntry entry = JunitTestHelper.createAndPersistRepositoryEntry();
    Identity participant1 = JunitTestHelper.createAndPersistIdentityAsRndUser("participant-6-1");
    Identity participant2 = JunitTestHelper.createAndPersistIdentityAsRndUser("participant-6-2");
    // a closed lecture block in the past
    LectureBlock lectureBlock1 = createClosedLectureBlockInPast(entry);
    LectureBlock lectureBlock2 = createClosedLectureBlockInPast(entry);
    LectureBlock lectureBlock3 = createClosedLectureBlockInPast(entry);
    // create summary in the past
    Calendar cal = Calendar.getInstance();
    cal.add(Calendar.DATE, -4);
    lectureParticipantSummaryDao.createSummary(entry, participant1, cal.getTime());
    lectureParticipantSummaryDao.createSummary(entry, participant2, cal.getTime());
    // add participants to the "course"
    repositoryEntryRelationDAO.addRole(participant1, entry, GroupRole.participant.name());
    repositoryEntryRelationDAO.addRole(participant2, entry, GroupRole.participant.name());
    dbInstance.commitAndCloseSession();
    RepositoryEntryLectureConfiguration config = lectureService.getRepositoryEntryLectureConfiguration(entry);
    config.setLectureEnabled(true);
    lectureService.updateRepositoryEntryLectureConfiguration(config);
    // add the course to the lectures
    Group defGroup = repositoryService.getDefaultGroup(entry);
    lectureBlock1 = lectureService.save(lectureBlock1, Collections.singletonList(defGroup));
    lectureBlock2 = lectureService.save(lectureBlock2, Collections.singletonList(defGroup));
    lectureBlock3 = lectureService.save(lectureBlock3, Collections.singletonList(defGroup));
    dbInstance.commitAndCloseSession();
    lectureService.addRollCall(participant1, lectureBlock1, null, toList(1, 2));
    lectureService.addRollCall(participant1, lectureBlock2, null, toList(1, 2, 3, 4));
    lectureService.addRollCall(participant2, lectureBlock1, null, toList(1, 2, 3, 4));
    lectureService.addRollCall(participant2, lectureBlock3, null, toList(2, 3, 4));
    dbInstance.commitAndCloseSession();
    // check first participant
    List<LectureBlockStatistics> statistics_1 = lectureService.getParticipantLecturesStatistics(participant1);
    Assert.assertNotNull(statistics_1);
    Assert.assertEquals(1, statistics_1.size());
    LectureBlockStatistics statistic_1 = statistics_1.get(0);
    Assert.assertEquals(12, statistic_1.getTotalPersonalPlannedLectures());
    Assert.assertEquals(2, statistic_1.getTotalAttendedLectures());
    Assert.assertEquals(6, statistic_1.getTotalAbsentLectures());
    // check second participant
    List<LectureBlockStatistics> statistics_2 = lectureService.getParticipantLecturesStatistics(participant2);
    Assert.assertNotNull(statistics_2);
    Assert.assertEquals(1, statistics_2.size());
    LectureBlockStatistics statistic_2 = statistics_2.get(0);
    Assert.assertEquals(12, statistic_2.getTotalPersonalPlannedLectures());
    Assert.assertEquals(1, statistic_2.getTotalAttendedLectures());
    Assert.assertEquals(7, statistic_2.getTotalAbsentLectures());
}
Also used : LectureBlock(org.olat.modules.lecture.LectureBlock) Group(org.olat.basesecurity.Group) LectureBlockToGroup(org.olat.modules.lecture.LectureBlockToGroup) BusinessGroup(org.olat.group.BusinessGroup) Calendar(java.util.Calendar) RepositoryEntry(org.olat.repository.RepositoryEntry) Identity(org.olat.core.id.Identity) RepositoryEntryLectureConfiguration(org.olat.modules.lecture.RepositoryEntryLectureConfiguration) LectureBlockStatistics(org.olat.modules.lecture.model.LectureBlockStatistics) Test(org.junit.Test)

Aggregations

RepositoryEntryLectureConfiguration (org.olat.modules.lecture.RepositoryEntryLectureConfiguration)40 RepositoryEntry (org.olat.repository.RepositoryEntry)30 Test (org.junit.Test)26 Identity (org.olat.core.id.Identity)18 LectureBlock (org.olat.modules.lecture.LectureBlock)16 Path (javax.ws.rs.Path)4 Produces (javax.ws.rs.Produces)4 Group (org.olat.basesecurity.Group)4 Roles (org.olat.core.id.Roles)4 BusinessGroup (org.olat.group.BusinessGroup)4 LectureBlockToGroup (org.olat.modules.lecture.LectureBlockToGroup)4 LectureBlockStatistics (org.olat.modules.lecture.model.LectureBlockStatistics)4 RestSecurityHelper.getRoles (org.olat.restapi.security.RestSecurityHelper.getRoles)4 URI (java.net.URI)2 Calendar (java.util.Calendar)2 Date (java.util.Date)2 Consumes (javax.ws.rs.Consumes)2 GET (javax.ws.rs.GET)2 POST (javax.ws.rs.POST)2 HttpResponse (org.apache.http.HttpResponse)2