/******************************************************************************* * Copyright (c) 2012-2015 Codenvy, S.A. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ package org.eclipse.che.ide.extension.maven.client.projecttree; import org.eclipse.che.api.project.shared.dto.ItemReference; import org.eclipse.che.api.project.shared.dto.ProjectDescriptor; import org.eclipse.che.ide.collections.Array; import org.eclipse.che.ide.collections.Collections; import org.junit.Before; import org.junit.Test; import org.mockito.InjectMocks; import org.mockito.Mock; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; /** * Testing {@link MavenFolderNode} functionality. * * @author Artem Zatsarynnyy */ public class MavenFolderNodeTest extends BaseNodeTest { private static final String FOLDER_PATH = "/project/folder"; @Mock private ItemReference itemReference; @Mock private ProjectDescriptor projectDescriptor; @InjectMocks private MavenFolderNode mavenFolderNode; @Before public void setUp() { super.setUp(); when(mavenFolderNode.getPath()).thenReturn(FOLDER_PATH); } @Test public void shouldCreateChildModuleNode() { ItemReference projectItem = mock(ItemReference.class); when(projectItem.getType()).thenReturn("project"); when(projectItem.getName()).thenReturn("my_module"); ProjectDescriptor moduleDescriptor = mock(ProjectDescriptor.class); when(moduleDescriptor.getName()).thenReturn("my_module"); Array<ProjectDescriptor> modules = Collections.createArray(moduleDescriptor); mavenFolderNode.createChildNode(projectItem, modules); verify(treeStructure).newModuleNode(eq(mavenFolderNode), eq(moduleDescriptor)); } @Test public void shouldCreateChildSourceFolderNode() { ItemReference sourceFolderItem = mock(ItemReference.class); when(sourceFolderItem.getType()).thenReturn("folder"); when(sourceFolderItem.getPath()).thenReturn("/project/src/main/java"); Array<ProjectDescriptor> modules = Collections.createArray(); mavenFolderNode.createChildNode(sourceFolderItem, modules); verify(treeStructure).newSourceFolderNode(eq(mavenFolderNode), eq(sourceFolderItem)); } @Test public void shouldCreateChildJavaFolderNode() { ItemReference folderItem = mock(ItemReference.class); when(folderItem.getType()).thenReturn("folder"); Array<ProjectDescriptor> modules = Collections.createArray(); mavenFolderNode.createChildNode(folderItem, modules); verify(treeStructure).newJavaFolderNode(eq(mavenFolderNode), eq(folderItem)); } }