@Test public void testCheckForMultiplePIs() { AwardPerson newPerson = new AwardPerson( KcPersonFixtureFactory.createKcPerson(KP_PERSON_ID), ContactRoleFixtureFactory.MOCK_PI); newPerson.setPropAwardPersonRoleService(roleService); award.add(newPerson); Assert.assertFalse( "Multiple PIs not detected", rule.checkForOnePrincipalInvestigator(award.getProjectPersons())); checkErrorState( AwardProjectPersonsSaveRule.AWARD_PROJECT_PERSON_LIST_ERROR_KEY, AwardProjectPersonsSaveRule.ERROR_AWARD_PROJECT_PERSON_MULTIPLE_PI_EXISTS); }
@Before public void setUp() { context = new JUnit4Mockery() { { setThreadingPolicy(new Synchroniser()); } }; roleListBuilder = GenericQueryResults.Builder.create(); roleListBuilder.setResults( new ArrayList<PropAwardPersonRole>() { { add(createTestRole(3L, "PI", PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY)); add(createTestRole(4L, "KP", PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY)); add( createTestRole( 5L, "MPI", PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY)); add( createTestRole( 6L, "COI", PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY)); } }); rule = new AwardProjectPersonsSaveRuleImpl(); award = new Award(); award.setSponsorCode(SPONSOR_CODE); unitA = new Unit(); unitA.setUnitName("a"); unitA.setUnitNumber("1"); unitB = new Unit(); unitB.setUnitName("b"); unitB.setUnitNumber("2"); KcPerson employee = KcPersonFixtureFactory.createKcPerson(PERSON_ID); piPerson = new AwardPerson(employee, ContactRoleFixtureFactory.MOCK_PI); piPerson.add(new AwardPersonUnit(piPerson, unitA, true)); NonOrganizationalRolodex nonEmployee; nonEmployee = new NonOrganizationalRolodex(); nonEmployee.setRolodexId(ROLODEX_ID); coiPerson = new AwardPerson(nonEmployee, ContactRoleFixtureFactory.MOCK_COI); coiPerson.add(new AwardPersonUnit(coiPerson, unitA, false)); KcPerson employee2 = KcPersonFixtureFactory.createKcPerson(KP_PERSON_ID); kpPerson = new AwardPerson(employee2, ContactRoleFixtureFactory.MOCK_KEY_PERSON); kpPerson.setKeyPersonRole("Tester"); kpPerson.add(new AwardPersonUnit(kpPerson, unitA, false)); piPerson.setAward(award); coiPerson.setAward(award); kpPerson.setAward(award); roleService = getPropAwardPersonRoleService(); piPerson.setPropAwardPersonRoleService(roleService); coiPerson.setPropAwardPersonRoleService(roleService); kpPerson.setPropAwardPersonRoleService(roleService); award.add(piPerson); award.add(coiPerson); award.add(kpPerson); GlobalVariables.setMessageMap(new MessageMap()); }