package net.pterodactylus.sone.web;
import static net.pterodactylus.sone.web.WebTestUtils.redirectsTo;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import net.pterodactylus.sone.data.Album;
import net.pterodactylus.util.web.Method;
import org.junit.Before;
import org.junit.Test;
/**
* Unit test for {@link UploadImagePageTest}.
*
* @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
*/
public class UploadImagePageTest extends WebPageTest {
private final UploadImagePage uploadImagePage = new UploadImagePage(template, webInterface);
private final Album parentAlbum = mock(Album.class);
@Before
public void setupParentAlbum() {
when(core.getAlbum("parent-id")).thenReturn(parentAlbum);
when(parentAlbum.getSone()).thenReturn(currentSone);
}
@Test
public void uploadingAnImageWithoutTitleRedirectsToEmptyImageTitlePage() throws Exception {
request("", Method.POST);
when(httpRequest.getPartAsStringFailsafe(eq("parent"), anyInt())).thenReturn("parent-id");
when(httpRequest.getPartAsStringFailsafe(eq("title"), anyInt())).thenReturn(" ");
expectedException.expect(redirectsTo("emptyImageTitle.html"));
uploadImagePage.processTemplate(freenetRequest, templateContext);
}
}