X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpages%2FUnlockSonePageTest.kt;h=8627fd457cc2fb8559ca6f42e8008f966213da20;hp=5e32d847fb1128eaf2fe7d0e69468702c95c438e;hb=2e6be6f2fb6afede009dacc48b8e3318e30e5057;hpb=6b29b49714912ff5e3e410d2484699cdf8041b90 diff --git a/src/test/kotlin/net/pterodactylus/sone/web/pages/UnlockSonePageTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/pages/UnlockSonePageTest.kt index 5e32d84..8627fd4 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/pages/UnlockSonePageTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/pages/UnlockSonePageTest.kt @@ -1,11 +1,12 @@ package net.pterodactylus.sone.web.pages -import net.pterodactylus.sone.data.Sone -import net.pterodactylus.sone.test.mock -import net.pterodactylus.sone.test.whenever -import net.pterodactylus.sone.web.pages.UnlockSonePage -import net.pterodactylus.util.web.Method.POST -import org.junit.Test +import net.pterodactylus.sone.data.* +import net.pterodactylus.sone.test.* +import net.pterodactylus.sone.web.* +import net.pterodactylus.util.web.Method.* +import org.hamcrest.MatcherAssert.* +import org.hamcrest.Matchers.* +import org.junit.* import org.mockito.ArgumentMatchers.any import org.mockito.Mockito.never import org.mockito.Mockito.verify @@ -13,11 +14,23 @@ import org.mockito.Mockito.verify /** * Unit test for [UnlockSonePage]. */ -class UnlockSonePageTest : WebPageTest() { +class UnlockSonePageTest : WebPageTest(::UnlockSonePage) { - private val page = UnlockSonePage(template, webInterface) + @Test + fun `page returns correct path`() { + assertThat(page.path, equalTo("unlockSone.html")) + } + + @Test + fun `page does not require login`() { + assertThat(page.requiresLogin(), equalTo(false)) + } - override fun getPage() = page + @Test + fun `page returns correct title`() { + addTranslation("Page.UnlockSone.Title", "unlock page title") + assertThat(page.getPageTitle(soneRequest), equalTo("unlock page title")) + } @Test fun `post request without sone redirects to return page`() { @@ -43,7 +56,7 @@ class UnlockSonePageTest : WebPageTest() { setMethod(POST) addHttpRequestPart("returnPage", "return.html") addHttpRequestPart("sone", "remote-sone") - addSone("remote-sone", mock()) + addSone("remote-sone", mock()) verifyRedirect("return.html") { verify(core, never()).unlockSone(any()) } @@ -61,4 +74,9 @@ class UnlockSonePageTest : WebPageTest() { } } + @Test + fun `page can be created by dependency injection`() { + assertThat(baseInjector.getInstance(), notNullValue()) + } + }