use of org.olat.modules.qpool.model.QItemType in project openolat by klemens.
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.model.QItemType in project openolat by klemens.
the class QuestionDAOTest method shareItems_businessGroups.
@Test
public void shareItems_businessGroups() {
// create a group to share 2 items
QItemType mcType = qItemTypeDao.loadByType(QuestionType.MC.name());
Identity id = JunitTestHelper.createAndPersistIdentityAsUser("Share-item-" + UUID.randomUUID().toString());
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<BusinessGroup> shared = questionDao.getResourcesWithSharedItems(id);
Assert.assertNotNull(shared);
Assert.assertEquals(1, shared.size());
Assert.assertTrue(shared.contains(group));
}
use of org.olat.modules.qpool.model.QItemType in project openolat by klemens.
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.model.QItemType in project openolat by klemens.
the class QuestionDAOTest method shareItems_removeFromBusinessGroups.
@Test
public void shareItems_removeFromBusinessGroups() {
// create a group to share 2 items
QItemType mcType = qItemTypeDao.loadByType(QuestionType.MC.name());
Identity id = JunitTestHelper.createAndPersistIdentityAsUser("Share-item-" + UUID.randomUUID().toString());
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);
questionDao.share(item, group.getResource());
dbInstance.commit();
// check them
List<QuestionItemView> shared = qItemQueriesDao.getSharedItemByResource(id, group.getResource(), null, null, 0, -1);
Assert.assertNotNull(shared);
Assert.assertEquals(1, shared.size());
// remove
questionDao.removeFromShare(Collections.<QuestionItemShort>singletonList(item), group.getResource());
dbInstance.commitAndCloseSession();
// check
int numOfStayingItems = questionDao.countSharedItemByResource(group.getResource(), null);
Assert.assertEquals(0, numOfStayingItems);
}
use of org.olat.modules.qpool.model.QItemType in project openolat by klemens.
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);
}
Aggregations