@Test public void testDefaultAssigneeComponentLead() throws OperationNotPermittedException, InvalidUserException, InvalidCredentialException { final User componentLead = userMockFactory.getComponentLead(); final GenericValue projectWithDefaultUnassigned = projectMockFactory.getProjectWithDefaultUnassigned(); final GenericValue componentWithComponentAssignee = componentMockFactory.getComponentWithComponentAssignee(); // Should return false as components lead is unassignable, unassigned is turned off and project // lead is unassignable _testNoDefaultAssignee(projectWithDefaultUnassigned, componentWithComponentAssignee); when(permissionManager.hasPermission( Permissions.ASSIGNABLE_USER, projectFactory.getProject(projectWithDefaultUnassigned), ApplicationUsers.from(componentLead))) .thenReturn(Boolean.TRUE); // Should return true as component lead is assignable _testDefaultAssignee( projectWithDefaultUnassigned, componentWithComponentAssignee, componentLead); }
@Before public void setUp() throws Exception { final MockitoContainer mockitoContainer = MockitoMocksInContainer.rule(mockitoMocksInContainer); testedObject = new DefaultProjectManager( ofBizDelegator, nodeAssociationStore, projectFactory, mock(ProjectRoleManager.class), issueManager, mock(AvatarManager.class), userManager, mock(ProjectCategoryStore.class), ComponentAccessor.getApplicationProperties(), mock(ProjectKeyStore.class), new MockTransactionSupport(), mock(PropertiesManager.class), mock(JsonEntityPropertyManager.class), mock(EventPublisher.class)); mockitoContainer .getMockWorker() .addMock(OfBizDelegator.class, ofBizDelegator) .addMock(UserManager.class, userManager) .addMock(PermissionManager.class, permissionManager) .addMock(IssueSecurityLevelManager.class, issueSecurityLevelManager) .addMock(ProjectManager.class, testedObject) .init(); when(projectFactory.getProject(Mockito.<GenericValue>any())) .thenAnswer( new Answer<Project>() { @Override public Project answer(final InvocationOnMock invocation) throws Throwable { return new ProjectMock((GenericValue) invocation.getArguments()[0]); } }); when(projectFactory.getProjects(Mockito.<Collection<GenericValue>>any())) .thenAnswer( new Answer<List<Project>>() { @Override public List<Project> answer(final InvocationOnMock invocation) throws Throwable { final List<Project> result = new LinkedList<Project>(); @SuppressWarnings("unchecked") final Collection<GenericValue> projectGVs = (Collection<GenericValue>) invocation.getArguments()[0]; for (final GenericValue projectGV : projectGVs) { result.add(new ProjectMock(projectGV)); } return result; } }); project1 = addProject(Long.valueOf(100), "ABC", "Project 1", Long.valueOf(100)); projectGV1 = ofBizDelegator.findById("Project", project1.getId()); project2 = addProject(Long.valueOf(101), "XYZ", "Project 2", Long.valueOf(101)); addIssue(project1, Long.valueOf(99)); addIssue(project1, Long.valueOf(100)); addIssue(project1, Long.valueOf(101)); addIssue(project1, Long.valueOf(102)); projectCategory = addProjectCategory(Long.valueOf(30), "foo", "bar"); projectCategory2 = addProjectCategory(Long.valueOf(31), "bib", "la"); }