use of org.olat.modules.reminder.model.ReminderRuleImpl in project OpenOLAT by OpenOLAT.
the class ReminderRuleEngineTest method userPropertyRules.
@Test
public void userPropertyRules() {
Identity id1 = JunitTestHelper.createAndPersistIdentityAsRndUser("rule-1");
Identity id2 = JunitTestHelper.createAndPersistIdentityAsRndUser("rule-2");
Identity id3 = JunitTestHelper.createAndPersistIdentityAsRndUser("rule-3");
RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry();
repositoryEntryRelationDao.addRole(id1, re, GroupRoles.owner.name());
repositoryEntryRelationDao.addRole(id2, re, GroupRoles.coach.name());
repositoryEntryRelationDao.addRole(id3, re, GroupRoles.participant.name());
dbInstance.commit();
id1.getUser().setProperty(UserConstants.FIRSTNAME, "Aoi");
id1.getUser().setProperty(UserConstants.LASTNAME, "Volks");
userManager.updateUserFromIdentity(id1);
id2.getUser().setProperty(UserConstants.FIRSTNAME, "Yukino");
id2.getUser().setProperty(UserConstants.LASTNAME, "Volks");
userManager.updateUserFromIdentity(id2);
id3.getUser().setProperty(UserConstants.FIRSTNAME, "Ryomou");
id3.getUser().setProperty(UserConstants.LASTNAME, "Shimei");
userManager.updateUserFromIdentity(id3);
dbInstance.commit();
// check user properties rules
{
List<ReminderRule> rules = getRules(UserConstants.LASTNAME, "Volks");
List<Identity> all = ruleEngine.getIdentities(re, null, rules, true);
Assert.assertEquals(2, all.size());
Assert.assertTrue(all.contains(id1));
Assert.assertTrue(all.contains(id2));
}
// check user properties rules with role
{
List<ReminderRule> rules = getRules(UserConstants.LASTNAME, "Volks");
ReminderRuleImpl rule = new ReminderRuleImpl();
rule.setType(RepositoryEntryRoleRuleSPI.class.getSimpleName());
rule.setOperator("=");
rule.setRightOperand(RepositoryEntryRoleRuleSPI.Roles.owner.name());
rules.add(rule);
List<Identity> all = ruleEngine.getIdentities(re, null, rules, true);
Assert.assertEquals(1, all.size());
Assert.assertTrue(all.contains(id1));
}
// check with 2 rules
{
List<ReminderRule> rules = getRules(UserConstants.LASTNAME, "Volks");
ReminderRuleImpl rule = new ReminderRuleImpl();
rule.setType(UserPropertyRuleSPI.class.getSimpleName());
rule.setLeftOperand(UserConstants.FIRSTNAME);
rule.setOperator("=");
rule.setRightOperand("Yukino");
rules.add(rule);
List<Identity> all = ruleEngine.getIdentities(re, null, rules, true);
Assert.assertEquals(1, all.size());
Assert.assertTrue(all.contains(id2));
}
}
use of org.olat.modules.reminder.model.ReminderRuleImpl in project OpenOLAT by OpenOLAT.
the class ReminderRuleEngineTest method getRecentLaunchRules.
private List<ReminderRule> getRecentLaunchRules(int amount, LaunchUnit unit) {
ReminderRuleImpl rule = new ReminderRuleImpl();
rule.setType(RecentCourseLaunchRuleSPI.class.getSimpleName());
rule.setOperator(">");
rule.setRightOperand(Integer.toString(amount));
rule.setRightUnit(unit.name());
List<ReminderRule> rules = new ArrayList<>(1);
rules.add(rule);
return rules;
}
use of org.olat.modules.reminder.model.ReminderRuleImpl in project OpenOLAT by OpenOLAT.
the class ReminderRuleEngineTest method getInitialAttemptsRules.
private List<ReminderRule> getInitialAttemptsRules(int value, String unit, String nodeIdent) {
ReminderRuleImpl rule = new ReminderRuleImpl();
rule.setType(InitialAttemptsRuleSPI.class.getSimpleName());
rule.setLeftOperand(nodeIdent);
rule.setOperator(">");
rule.setRightOperand(Integer.toString(value));
rule.setRightUnit(unit);
List<ReminderRule> rules = new ArrayList<>(1);
rules.add(rule);
return rules;
}
use of org.olat.modules.reminder.model.ReminderRuleImpl in project OpenOLAT by OpenOLAT.
the class ReminderRuleEngineTest method getRepositoryEntryLifecycleRuleValidToRule.
private List<ReminderRule> getRepositoryEntryLifecycleRuleValidToRule(int amount, LaunchUnit unit) {
ReminderRuleImpl rule = new ReminderRuleImpl();
rule.setType(RepositoryEntryLifecycleAfterValidToRuleSPI.class.getSimpleName());
rule.setOperator(">");
rule.setRightOperand(Integer.toString(amount));
rule.setRightUnit(unit.name());
List<ReminderRule> rules = new ArrayList<>(1);
rules.add(rule);
return rules;
}
use of org.olat.modules.reminder.model.ReminderRuleImpl in project OpenOLAT by OpenOLAT.
the class ReminderRuleEngineTest method getPassedRules.
private List<ReminderRule> getPassedRules(String status, String nodeIdent) {
ReminderRuleImpl rule = new ReminderRuleImpl();
rule.setType(PassedRuleSPI.class.getSimpleName());
rule.setLeftOperand(nodeIdent);
rule.setOperator("=");
rule.setRightOperand(status);
List<ReminderRule> rules = new ArrayList<>(1);
rules.add(rule);
return rules;
}
Aggregations