use of org.olat.modules.qpool.QuestionItem in project OpenOLAT by OpenOLAT.
the class QuestionDAOTest method deleteQuestion.
@Test
public void deleteQuestion() {
QItemType fibType = qItemTypeDao.loadByType(QuestionType.FIB.name());
QuestionItem item = questionDao.createAndPersist(null, "To delete 1", QTIConstants.QTI_12_FORMAT, Locale.ENGLISH.getLanguage(), null, null, null, fibType);
dbInstance.commitAndCloseSession();
List<QuestionItem> itemsToDelete = Collections.singletonList(item);
questionDao.delete(itemsToDelete);
dbInstance.commitAndCloseSession();
QuestionItem deletedItem = questionDao.loadById(item.getKey());
Assert.assertNull(deletedItem);
}
use of org.olat.modules.qpool.QuestionItem in project OpenOLAT by OpenOLAT.
the class QuestionDAOTest method shareItems_removeFromBusinessGroups_paranoid.
@Test
public void shareItems_removeFromBusinessGroups_paranoid() {
// create a group to share 2 items
QItemType mcType = qItemTypeDao.loadByType(QuestionType.MC.name());
Identity id = JunitTestHelper.createAndPersistIdentityAsUser("Share-item-" + UUID.randomUUID().toString());
BusinessGroup group1 = businessGroupDao.createAndPersist(id, "gdao-b", "gdao-desc", -1, -1, false, false, false, false, false);
BusinessGroup group2 = businessGroupDao.createAndPersist(id, "gdao-c", "gdao-desc", -1, -1, false, false, false, false, false);
QuestionItem item1 = questionDao.createAndPersist(id, "Share-Item-Dup-1", QTIConstants.QTI_12_FORMAT, Locale.ENGLISH.getLanguage(), null, null, null, mcType);
QuestionItem item2 = questionDao.createAndPersist(id, "Share-Item-Dup-1", QTI21Constants.QTI_21_FORMAT, Locale.ENGLISH.getLanguage(), null, null, null, mcType);
questionDao.share(item1, group1.getResource());
questionDao.share(item1, group2.getResource());
questionDao.share(item2, group1.getResource());
questionDao.share(item2, group2.getResource());
dbInstance.commit();
// check them
int numOfItems_1 = questionDao.countSharedItemByResource(group1.getResource(), null);
Assert.assertEquals(2, numOfItems_1);
int numOfItems_2 = questionDao.countSharedItemByResource(group2.getResource(), null);
Assert.assertEquals(2, numOfItems_2);
// remove
questionDao.removeFromShare(Collections.<QuestionItemShort>singletonList(item2), group1.getResource());
dbInstance.commitAndCloseSession();
// check
int numOfStayingItems_1 = questionDao.countSharedItemByResource(group1.getResource(), null);
Assert.assertEquals(1, numOfStayingItems_1);
int numOfStayingItems_2 = questionDao.countSharedItemByResource(group2.getResource(), null);
Assert.assertEquals(2, numOfStayingItems_2);
List<QuestionItemView> items_1 = qItemQueriesDao.getSharedItemByResource(id, group1.getResource(), null, null, 0, -1);
Assert.assertEquals(1, items_1.size());
Assert.assertEquals(item1.getKey(), items_1.get(0).getKey());
}
use of org.olat.modules.qpool.QuestionItem in project OpenOLAT by OpenOLAT.
the class QuestionDAOTest method getNumOfQuestions.
@Test
public void getNumOfQuestions() {
QItemType mcType = qItemTypeDao.loadByType(QuestionType.MC.name());
QuestionItem item = questionDao.createAndPersist(null, "NGC 1277", QTIConstants.QTI_12_FORMAT, Locale.ENGLISH.getLanguage(), null, null, null, mcType);
Assert.assertNotNull(item);
dbInstance.commitAndCloseSession();
int numOfQuestions = questionDao.getNumOfQuestions();
Assert.assertTrue(numOfQuestions >= 1);
dbInstance.commitAndCloseSession();
}
use of org.olat.modules.qpool.QuestionItem in project OpenOLAT by OpenOLAT.
the class QuestionDAOTest method shareItems_avoidDuplicates.
@Test
public void shareItems_avoidDuplicates() {
// create a group to share 2 items
QItemType mcType = qItemTypeDao.loadByType(QuestionType.MC.name());
Identity id = JunitTestHelper.createAndPersistIdentityAsUser("QShare-3-" + UUID.randomUUID());
BusinessGroup group = businessGroupDao.createAndPersist(id, "gdao", "gdao-desc", -1, -1, false, false, false, false, false);
QuestionItem item = questionDao.createAndPersist(id, "Share-Item-Dup-1", QTIConstants.QTI_12_FORMAT, Locale.ENGLISH.getLanguage(), null, null, null, mcType);
dbInstance.commit();
// share them
questionDao.share(item, group.getResource());
questionDao.share(item, group.getResource());
questionDao.share(item, group.getResource());
// retrieve them
List<QuestionItemView> sharedItems = qItemQueriesDao.getSharedItemByResource(id, group.getResource(), null, null, 0, -1);
Assert.assertNotNull(sharedItems);
Assert.assertEquals(1, sharedItems.size());
Assert.assertEquals(item.getKey(), sharedItems.get(0).getKey());
}
use of org.olat.modules.qpool.QuestionItem in project OpenOLAT by OpenOLAT.
the class QuestionDAOTest method shareInfos_byItems.
@Test
public void shareInfos_byItems() {
// create a group to share 2 items
QItemType mcType = qItemTypeDao.loadByType(QuestionType.MC.name());
Identity id = JunitTestHelper.createAndPersistIdentityAsUser("Share-item-" + UUID.randomUUID().toString());
BusinessGroup group1 = businessGroupDao.createAndPersist(id, "gdap", "gdao-desc", -1, -1, false, false, false, false, false);
BusinessGroup group2 = businessGroupDao.createAndPersist(id, "gdaq", "gdao-desc", -1, -1, false, false, false, false, false);
QuestionItem item = questionDao.createAndPersist(id, "Share-Item-Dup-1", QTIConstants.QTI_12_FORMAT, Locale.ENGLISH.getLanguage(), null, null, null, mcType);
questionDao.share(item, group1.getResource());
questionDao.share(item, group2.getResource());
dbInstance.commit();
// retrieve them
List<QuestionItem2Resource> shared = questionDao.getSharedResourceInfos(item);
Assert.assertNotNull(shared);
Assert.assertEquals(2, shared.size());
}
Aggregations