X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2FWebPageTest.java;h=2825a208b4828e322181d8b0cd31b8d178ecbf3f;hb=8aebcf573e7b5ef8b7b09f1c90c4f12a82920b64;hp=3e2df88db8877d94f4ad8f0d58760a612871fd0d;hpb=7b55e0be6a3283e43a9bbab98f82aebdd948eb33;p=Sone.git diff --git a/src/test/java/net/pterodactylus/sone/web/WebPageTest.java b/src/test/java/net/pterodactylus/sone/web/WebPageTest.java index 3e2df88..2825a20 100644 --- a/src/test/java/net/pterodactylus/sone/web/WebPageTest.java +++ b/src/test/java/net/pterodactylus/sone/web/WebPageTest.java @@ -16,9 +16,13 @@ import java.util.List; import java.util.Set; import net.pterodactylus.sone.core.Core; +import net.pterodactylus.sone.core.Preferences; import net.pterodactylus.sone.core.UpdateChecker; +import net.pterodactylus.sone.data.Album; +import net.pterodactylus.sone.data.Image; import net.pterodactylus.sone.data.Post; import net.pterodactylus.sone.data.Sone; +import net.pterodactylus.sone.data.SoneOptions.DefaultSoneOptions; import net.pterodactylus.sone.freenet.wot.OwnIdentity; import net.pterodactylus.sone.web.page.FreenetRequest; import net.pterodactylus.util.notify.Notification; @@ -30,6 +34,7 @@ import freenet.clients.http.ToadletContext; import freenet.support.api.HTTPRequest; import com.google.common.base.Optional; +import com.google.common.eventbus.EventBus; import org.junit.Before; import org.junit.Rule; import org.junit.rules.ExpectedException; @@ -48,6 +53,7 @@ public abstract class WebPageTest { protected final Template template = new Template(); protected final WebInterface webInterface = mock(WebInterface.class, RETURNS_DEEP_STUBS); + protected final EventBus eventBus = mock(EventBus.class); protected final Core core = webInterface.getCore(); protected final Sone currentSone = mock(Sone.class); @@ -70,16 +76,22 @@ public abstract class WebPageTest { return ""; } }); + when(httpRequest.getParam(anyString())).thenReturn(""); + when(httpRequest.getParam(anyString(), anyString())).thenReturn(""); } @Before public final void setupCore() { UpdateChecker updateChecker = mock(UpdateChecker.class); when(core.getUpdateChecker()).thenReturn(updateChecker); + when(core.getPreferences()).thenReturn(new Preferences(eventBus)); when(core.getLocalSone(anyString())).thenReturn(null); when(core.getLocalSones()).thenReturn(localSones); when(core.getSone(anyString())).thenReturn(Optional.absent()); when(core.getPost(anyString())).thenReturn(Optional.absent()); + when(core.getAlbum(anyString())).thenReturn(null); + when(core.getImage(anyString())).thenReturn(null); + when(core.getImage(anyString(), anyBoolean())).thenReturn(null); } @Before @@ -91,9 +103,15 @@ public abstract class WebPageTest { public final void setupWebInterface() { when(webInterface.getCurrentSone(toadletContext)).thenReturn(currentSone); when(webInterface.getCurrentSone(eq(toadletContext), anyBoolean())).thenReturn(currentSone); + when(webInterface.getNotification(anyString())).thenReturn(Optional.absent()); when(webInterface.getNotifications(currentSone)).thenReturn(new ArrayList()); } + @Before + public void setupSone() { + when(currentSone.getOptions()).thenReturn(new DefaultSoneOptions()); + } + protected void unsetCurrentSone() { when(webInterface.getCurrentSone(toadletContext)).thenReturn(null); when(webInterface.getCurrentSone(eq(toadletContext), anyBoolean())).thenReturn(null); @@ -116,6 +134,9 @@ public abstract class WebPageTest { return value.substring(0, Math.min(maxLength, value.length())); } }); + when(httpRequest.getParam(eq(name))).thenReturn(value); + when(httpRequest.getParam(eq(name), anyString())).thenReturn(value); + when(httpRequest.isPartSet(eq(name))).thenReturn(value != null && !value.isEmpty()); } protected void addPost(String postId, Post post) { @@ -135,4 +156,17 @@ public abstract class WebPageTest { ownIdentities.add(ownIdentity); } + protected void addAlbum(String albumId, Album album) { + when(core.getAlbum(eq(albumId))).thenReturn(album); + } + + protected void addImage(String imageId, Image image) { + when(core.getImage(eq(imageId))).thenReturn(image); + when(core.getImage(eq(imageId), anyBoolean())).thenReturn(image); + } + + protected void addNotification(String notificationId, Notification notification) { + when(webInterface.getNotification(eq(notificationId))).thenReturn(Optional.of(notification)); + } + }