package com.natpryce.piazza;
import com.natpryce.piazza.pluginConfiguration.PiazzaConfiguration;
import com.natpryce.piazza.projectConfiguration.PiazzaProjectSettings;
import jetbrains.buildServer.serverSide.SBuildType;
import jetbrains.buildServer.serverSide.SProject;
import jetbrains.buildServer.users.SUser;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import java.util.ArrayList;
import java.util.Collections;
import static org.junit.Assert.assertNotNull;
import static org.mockito.Mockito.when;
/**
* @author Timo Meinen
* @since 08.10.11
*/
public class ProjectMonitorViewStateTest {
@Mock
private SProject projectMock;
@Mock
private UserGroup userGroupMock;
@Mock
private SBuildType sBuildTypeMock;
@Mock
private SUser user;
@Mock
private PiazzaConfiguration configuration;
@Mock
private PiazzaProjectSettings projectSettings;
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
}
@Test
public void testNoNPEWhenNoBuildWasExecutedYet() throws Exception {
// Issue #31
when(sBuildTypeMock.isAllowExternalStatus()).thenReturn(true);
when(projectMock.getBuildTypes()).thenReturn(Collections.singletonList(sBuildTypeMock));
when(user.getOrderedBuildTypes(projectMock)).thenReturn(new ArrayList<SBuildType>());
ProjectMonitorViewState projectMonitorViewState = new ProjectMonitorViewState(projectMock, userGroupMock, configuration, projectSettings, user);
assertNotNull(projectMonitorViewState);
}
}