package de.unioninvestment.eai.portal.portlet.crud.domain.model;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import static org.mockito.Mockito.when;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
public class FileMetadataTest {
@Mock
private ContainerRow rowMock;
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
}
@Test
public void shouldReturnConfiguredFilenameIfNoColumnConfigured() {
FileMetadata metadata = new FileMetadata("test.pdf", null, null, null, null, null, null);
assertThat(metadata.getCurrentFilename(rowMock), is("test.pdf"));
}
@Test
public void shouldReturnConfiguredFilenameIfColumnContainsNull() {
FileMetadata metadata = new FileMetadata("test.pdf", "FILENAME", null, null, null, null, null);
when(rowMock.getValue("FILENAME")).thenReturn(null);
assertThat(metadata.getCurrentFilename(rowMock), is("test.pdf"));
}
@Test
public void shouldReturnColumnValueFilenameIfColumnConfigured() {
FileMetadata metadata = new FileMetadata("test.pdf", "FILENAME", null, null, null, null, null);
when(rowMock.getValue("FILENAME")).thenReturn("test.xml");
assertThat(metadata.getCurrentFilename(rowMock), is("test.xml"));
}
@Test
public void shouldReturnCurrentFilenameAsDisplayName() {
FileMetadata metadata = new FileMetadata("test.pdf", null, null, null, null, null, null);
assertThat(metadata.getCurrentDisplayname(rowMock), is("test.pdf"));
}
@Test
public void shouldReturnConfiguredDownloadCaptionAsDisplayName() {
FileMetadata metadata = new FileMetadata("test.pdf", null, null, null, "Datei herunterladen", null, null);
assertThat(metadata.getCurrentDisplayname(rowMock), is("Datei herunterladen"));
}
@Test
public void shouldReturnConfiguredMimetypeIfNoColumnConfigured() {
FileMetadata metadata = new FileMetadata("test.pdf", null, "test/pdf", null, null, null, null);
assertThat(metadata.getCurrentMimetype(rowMock), is("test/pdf"));
}
@Test
public void shouldReturnConfiguredMimetypeIfColumnContainsNull() {
FileMetadata metadata = new FileMetadata("test.pdf", null, "test/pdf", "MIMETYPE", null, null, null);
when(rowMock.getValue("MIMETYPE")).thenReturn(null);
assertThat(metadata.getCurrentMimetype(rowMock), is("test/pdf"));
}
@Test
public void shouldReturnColumnValueMimetypeIfColumnConfigured() {
FileMetadata metadata = new FileMetadata("test.pdf", null, "test/pdf", "MIMETYPE", null, null, null);
when(rowMock.getValue("MIMETYPE")).thenReturn("other/pdf");
assertThat(metadata.getCurrentMimetype(rowMock), is("other/pdf"));
}
@Test
public void shouldReturnMimetypeByExtensionIfNothingConfigured() {
FileMetadata metadata = new FileMetadata("test.pdf", null, null, null, null, null, null);
assertThat(metadata.getCurrentMimetype(rowMock), is("application/pdf"));
}
}