X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpages%2FViewPostPageTest.kt;h=8776af77ae2ad61dfc082359096aaab5003df41f;hb=78c208e6b826eb2a032c6c1911a7a8e59eb174fb;hp=bbc03bfc6e36ca2752f2433b4346177d5fec680b;hpb=de7568a82eb4150bf6d2b0553841b7b69f84c968;p=Sone.git 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 bbc03bf..8776af7 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/pages/ViewPostPageTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/pages/ViewPostPageTest.kt @@ -4,7 +4,6 @@ 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 net.pterodactylus.sone.web.pages.ViewPostPage import org.hamcrest.MatcherAssert.assertThat import org.hamcrest.Matchers.equalTo import org.hamcrest.Matchers.nullValue @@ -13,7 +12,7 @@ import org.junit.Test /** * Unit test for [ViewPostPage]. */ -class ViewPostPageTest : WebPageTest() { +class ViewPostPageTest: WebPageTest() { private val page = ViewPostPage(template, webInterface) private val post = mock() @@ -21,32 +20,45 @@ class ViewPostPageTest : WebPageTest() { 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)) } @Test fun `get request without parameters stores null in template context`() { - page.handleRequest(freenetRequest, templateContext) - assertThat(templateContext["post"], nullValue()) - assertThat(templateContext["raw"] as? Boolean, equalTo(false)) + verifyNoRedirect { + assertThat(templateContext["post"], nullValue()) + assertThat(templateContext["raw"] as? Boolean, equalTo(false)) + } } @Test fun `get request with invalid post id stores null in template context`() { addHttpRequestParameter("post", "invalid-post-id") - page.handleRequest(freenetRequest, templateContext) - assertThat(templateContext["post"], nullValue()) - assertThat(templateContext["raw"] as? Boolean, equalTo(false)) + verifyNoRedirect { + assertThat(templateContext["post"], nullValue()) + assertThat(templateContext["raw"] as? Boolean, equalTo(false)) + } } @Test fun `get request with valid post id stores post in template context`() { addPost("post-id", post) addHttpRequestParameter("post", "post-id") - page.handleRequest(freenetRequest, templateContext) - assertThat(templateContext["post"], equalTo(post)) - assertThat(templateContext["raw"] as? Boolean, equalTo(false)) + verifyNoRedirect { + assertThat(templateContext["post"], equalTo(post)) + assertThat(templateContext["raw"] as? Boolean, equalTo(false)) + } } @Test @@ -54,20 +66,23 @@ class ViewPostPageTest : WebPageTest() { addPost("post-id", post) addHttpRequestParameter("post", "post-id") addHttpRequestParameter("raw", "true") - page.handleRequest(freenetRequest, templateContext) - assertThat(templateContext["post"], equalTo(post)) - assertThat(templateContext["raw"] as? Boolean, equalTo(true)) + verifyNoRedirect { + assertThat(templateContext["post"], equalTo(post)) + assertThat(templateContext["raw"] as? Boolean, equalTo(true)) + } } @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(freenetRequest), 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(freenetRequest), equalTo("view post title")) } @Test @@ -81,7 +96,8 @@ 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(freenetRequest), equalTo("This is a text that … - First M. Last - view post title")) } }