From 37e7a7dbf3be9bdcbdcfaa7fd783cf4a1632d57f Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Thu, 14 Sep 2017 19:11:40 +0200 Subject: [PATCH] Add test for get translation ajax page --- .../sone/web/ajax/GetTranslationPageTest.kt | 20 ++++++++++++++++++++ .../net/pterodactylus/sone/web/ajax/JsonPageTest.kt | 13 +++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 src/test/kotlin/net/pterodactylus/sone/web/ajax/GetTranslationPageTest.kt diff --git a/src/test/kotlin/net/pterodactylus/sone/web/ajax/GetTranslationPageTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/ajax/GetTranslationPageTest.kt new file mode 100644 index 0000000..f520977 --- /dev/null +++ b/src/test/kotlin/net/pterodactylus/sone/web/ajax/GetTranslationPageTest.kt @@ -0,0 +1,20 @@ +package net.pterodactylus.sone.web.ajax + +import org.hamcrest.MatcherAssert.assertThat +import org.hamcrest.Matchers.equalTo +import org.junit.Test + +/** + * Unit test for [GetTranslationPage]. + */ +class GetTranslationPageTest : JsonPageTest("getTranslation.ajax", requiresLogin = false, needsFormPassword = false, pageSupplier = ::GetTranslationPage) { + + @Test + fun `translation is returned correctly`() { + addTranslation("foo", "bar") + addRequestParameter("key", "foo") + assertThat(json.isSuccess, equalTo(true)) + assertThat(json["value"].asText(), equalTo("bar")) + } + +} diff --git a/src/test/kotlin/net/pterodactylus/sone/web/ajax/JsonPageTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/ajax/JsonPageTest.kt index fed8784..c950a31 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/ajax/JsonPageTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/ajax/JsonPageTest.kt @@ -2,6 +2,7 @@ package net.pterodactylus.sone.web.ajax import com.google.common.eventbus.EventBus import freenet.clients.http.ToadletContext +import freenet.l10n.BaseL10n import freenet.support.SimpleReadOnlyArrayBucket import freenet.support.api.HTTPRequest import net.pterodactylus.sone.core.Core @@ -51,6 +52,7 @@ abstract class JsonPageTest( pageSupplier: (WebInterface) -> JsonPage = { _ -> mock() }) { protected val webInterface = mock() + protected val l10n = mock() protected val core = mock() protected val eventBus = mock() protected val preferences = Preferences(eventBus) @@ -80,6 +82,7 @@ abstract class JsonPageTest( private val notifications = mutableMapOf() private val albums = mutableMapOf() private val images = mutableMapOf() + private val translations = mutableMapOf() @Before fun setupWebInterface() { @@ -92,6 +95,12 @@ abstract class JsonPageTest( whenever(webInterface.getNotification(anyString())).then { notifications[it[0]].asOptional() } whenever(webInterface.getNewPosts(currentSone)).thenAnswer { newPosts.values } whenever(webInterface.getNewReplies(currentSone)).thenAnswer { newReplies.values } + whenever(webInterface.l10n).thenReturn(l10n) + } + + @Before + fun setupTranslations() { + whenever(l10n.getString(anyString())).then { translations[it[0]] } } @Before @@ -241,6 +250,10 @@ abstract class JsonPageTest( images[imageId ?: image.id] = image } + protected fun addTranslation(key: String, value: String) { + translations[key] = value + } + @Test fun `page returns correct path`() { assertThat(page.path, equalTo(expectedPath)) -- 2.7.4