From: David ‘Bombe’ Roden Date: Thu, 2 Feb 2017 20:58:02 +0000 (+0100) Subject: Add dependency injection tests for bookmark page X-Git-Tag: 0.9.7^2~308 X-Git-Url: https://git.pterodactylus.net/?a=commitdiff_plain;h=7e0b2b0e1af1aa27110849f41c742c9b61e3f446;p=Sone.git Add dependency injection tests for bookmark page --- diff --git a/src/main/kotlin/net/pterodactylus/sone/web/BookmarkPage.kt b/src/main/kotlin/net/pterodactylus/sone/web/BookmarkPage.kt index 3eac0aa..9227971 100644 --- a/src/main/kotlin/net/pterodactylus/sone/web/BookmarkPage.kt +++ b/src/main/kotlin/net/pterodactylus/sone/web/BookmarkPage.kt @@ -4,11 +4,14 @@ import net.pterodactylus.sone.web.page.FreenetRequest import net.pterodactylus.util.template.Template import net.pterodactylus.util.template.TemplateContext import net.pterodactylus.util.web.Method.POST +import javax.inject.Inject +import javax.inject.Singleton /** * Page that lets the user bookmark a post. */ -class BookmarkPage(template: Template, webInterface: WebInterface) +@Singleton +class BookmarkPage @Inject constructor(template: Template, webInterface: WebInterface) : SoneTemplatePage("bookmark.html", template, "Page.Bookmark.Title", webInterface) { override fun handleRequest(freenetRequest: FreenetRequest, templateContext: TemplateContext) { diff --git a/src/test/kotlin/net/pterodactylus/sone/web/BookmarkPageTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/BookmarkPageTest.kt index bebe10c..bbbe6ef 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/BookmarkPageTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/BookmarkPageTest.kt @@ -1,10 +1,14 @@ package net.pterodactylus.sone.web +import com.google.inject.Guice import net.pterodactylus.sone.data.Post +import net.pterodactylus.sone.test.getInstance import net.pterodactylus.sone.test.mock import net.pterodactylus.util.web.Method.POST import org.hamcrest.MatcherAssert.assertThat import org.hamcrest.Matchers.equalTo +import org.hamcrest.Matchers.notNullValue +import org.hamcrest.Matchers.sameInstance import org.junit.Test import org.mockito.ArgumentMatchers.any import org.mockito.Mockito.never @@ -53,4 +57,16 @@ class BookmarkPageTest : WebPageTest() { } } + @Test + fun `bookmark page can be created by guice`() { + assertThat(injector.getInstance(), notNullValue()) + } + + @Test + fun `bookmark page is created as singleton`() { + val firstInstance = injector.getInstance() + val secondInstance = injector.getInstance() + assertThat(firstInstance, sameInstance(secondInstance)) + } + }