X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpages%2FViewPostPageTest.kt;h=aac42d64d7c9cde18d9e9fdb40db9ef7ac65b1d6;hp=88ca34a43848acda7ab622476ef6488a18d1008c;hb=a76956e389fcfe6282ad4ca7156bbf76327bb0c0;hpb=4f2dd6da42af253e7545d7cba5d9e5cb2895eb34 diff --git a/src/test/kotlin/net/pterodactylus/sone/web/pages/ViewPostPageTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/pages/ViewPostPageTest.kt index 88ca34a..aac42d6 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/pages/ViewPostPageTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/pages/ViewPostPageTest.kt @@ -1,27 +1,34 @@ package net.pterodactylus.sone.web.pages -import net.pterodactylus.sone.data.Post -import net.pterodactylus.sone.data.Profile -import net.pterodactylus.sone.test.mock -import net.pterodactylus.sone.test.whenever -import org.hamcrest.MatcherAssert.assertThat -import org.hamcrest.Matchers.equalTo -import org.hamcrest.Matchers.nullValue -import org.junit.Test +import net.pterodactylus.sone.data.* +import net.pterodactylus.sone.test.* +import net.pterodactylus.sone.web.* +import net.pterodactylus.sone.web.page.* +import org.hamcrest.MatcherAssert.* +import org.hamcrest.Matchers.* +import org.junit.* +import java.net.* /** * Unit test for [ViewPostPage]. */ -class ViewPostPageTest : WebPageTest() { +class ViewPostPageTest: WebPageTest(::ViewPostPage) { - private val page = ViewPostPage(template, webInterface) private val post = mock() - override fun getPage() = page + @Test + fun `page returns correct path`() { + assertThat(page.path, equalTo("viewPost.html")) + } + + @Test + fun `page does not require login`() { + assertThat(page.requiresLogin(), equalTo(false)) + } @Test fun `the view post page is link-excepted`() { - assertThat(page.isLinkExcepted(null), equalTo(true)) + assertThat(page.isLinkExcepted(URI("")), equalTo(true)) } @Test @@ -64,13 +71,15 @@ class ViewPostPageTest : WebPageTest() { @Test fun `page title for request without parameters is default title`() { - assertThat(page.getPageTitle(freenetRequest), equalTo("Page.ViewPost.Title")) + addTranslation("Page.ViewPost.Title", "view post title") + assertThat(page.getPageTitle(soneRequest), equalTo("view post title")) } @Test fun `page title for request with invalid post is default title`() { addHttpRequestParameter("post", "invalid-post-id") - assertThat(page.getPageTitle(freenetRequest), equalTo("Page.ViewPost.Title")) + addTranslation("Page.ViewPost.Title", "view post title") + assertThat(page.getPageTitle(soneRequest), equalTo("view post title")) } @Test @@ -84,7 +93,18 @@ class ViewPostPageTest : WebPageTest() { whenever(post.text).thenReturn("This is a text that is longer than twenty characters.") addPost("post-id", post) addHttpRequestParameter("post", "post-id") - assertThat(page.getPageTitle(freenetRequest), equalTo("This is a text that … - First M. Last - Page.ViewPost.Title")) + addTranslation("Page.ViewPost.Title", "view post title") + assertThat(page.getPageTitle(soneRequest), equalTo("This is a text that … - First M. Last - view post title")) + } + + @Test + fun `page can be created by dependency injection`() { + assertThat(baseInjector.getInstance(), notNullValue()) + } + + @Test + fun `page is annotated with correct template path`() { + assertThat(page.templatePath, equalTo("/templates/viewPost.html")) } }