From 7e0b2b0e1af1aa27110849f41c742c9b61e3f446 Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Thu, 2 Feb 2017 21:58:02 +0100 Subject: [PATCH] Add dependency injection tests for bookmark page --- .../kotlin/net/pterodactylus/sone/web/BookmarkPage.kt | 5 ++++- .../net/pterodactylus/sone/web/BookmarkPageTest.kt | 16 ++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) 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)) + } + } -- 2.7.4