X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpages%2FNewPageTest.kt;h=3cf2a75cc4a5e7f168dbc50bbb4d8f9ea4a86b66;hb=05d126a69fbd464bea6aa974cff52dc4e5d5b2a6;hp=fd654c1938d499762a6f7013145a5a16c0ce2c9f;hpb=fc8e9ea5c978d2f5a00894e093364ae62f18934b;p=Sone.git diff --git a/src/test/kotlin/net/pterodactylus/sone/web/pages/NewPageTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/pages/NewPageTest.kt index fd654c1..3cf2a75 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/pages/NewPageTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/pages/NewPageTest.kt @@ -1,26 +1,23 @@ package net.pterodactylus.sone.web.pages -import net.pterodactylus.sone.data.Post -import net.pterodactylus.sone.data.PostReply -import net.pterodactylus.sone.test.getInstance -import net.pterodactylus.sone.test.mock -import net.pterodactylus.sone.test.whenever -import net.pterodactylus.sone.utils.Pagination -import net.pterodactylus.sone.utils.asOptional -import net.pterodactylus.sone.web.baseInjector -import org.hamcrest.MatcherAssert.assertThat -import org.hamcrest.Matchers.contains -import org.hamcrest.Matchers.containsInAnyOrder -import org.hamcrest.Matchers.equalTo -import org.hamcrest.Matchers.notNullValue -import org.junit.Before -import org.junit.Test -import java.util.Arrays.asList +import net.pterodactylus.sone.data.* +import net.pterodactylus.sone.test.* +import net.pterodactylus.sone.utils.* +import net.pterodactylus.sone.web.* +import net.pterodactylus.sone.web.page.* +import org.hamcrest.MatcherAssert.* +import org.hamcrest.Matchers.* +import org.junit.* +import java.util.Arrays.* /** * Unit test for [NewPage]. */ -class NewPageTest: WebPageTest(::NewPage) { +class NewPageTest : WebPageTest() { + + private val newElements = mock() + override val page: SoneTemplatePage + get() = NewPage(webInterface, loaders, templateRenderer, newElements) @Before fun setupNumberOfPostsPerPage() { @@ -40,7 +37,7 @@ class NewPageTest: WebPageTest(::NewPage) { @Test fun `page returns correct title`() { addTranslation("Page.New.Title", "new page title") - assertThat(page.getPageTitle(freenetRequest), equalTo("new page title")) + assertThat(page.getPageTitle(soneRequest), equalTo("new page title")) } @Test @@ -50,8 +47,8 @@ class NewPageTest: WebPageTest(::NewPage) { val postReplies = asList(mock(), mock()) whenever(postReplies[0].post).thenReturn(posts[0].asOptional()) whenever(postReplies[1].post).thenReturn(extraPost.asOptional()) - whenever(webInterface.getNewPosts(currentSone)).thenReturn(posts) - whenever(webInterface.getNewReplies(currentSone)).thenReturn(postReplies) + whenever(newElements.newPosts).thenReturn(posts) + whenever(newElements.newReplies).thenReturn(postReplies) verifyNoRedirect { val renderedPosts = templateContext.get>("posts", List::class.java) @@ -66,7 +63,7 @@ class NewPageTest: WebPageTest(::NewPage) { fun `posts are paginated properly`() { webInterface.core.preferences.newPostsPerPage = 2 val posts = listOf(mock().withTime(2000), mock().withTime(3000), mock().withTime(1000)) - whenever(webInterface.getNewPosts(currentSone)).thenReturn(posts) + whenever(newElements.newPosts).thenReturn(posts) verifyNoRedirect { assertThat((templateContext["pagination"] as Pagination).items, contains(posts[1], posts[0])) } @@ -78,7 +75,7 @@ class NewPageTest: WebPageTest(::NewPage) { webInterface.core.preferences.newPostsPerPage = 2 addHttpRequestParameter("page", "1") val posts = listOf(mock().withTime(2000), mock().withTime(3000), mock().withTime(1000)) - whenever(webInterface.getNewPosts(currentSone)).thenReturn(posts) + whenever(newElements.newPosts).thenReturn(posts) verifyNoRedirect { assertThat((templateContext["pagination"] as Pagination).items, contains(posts[2])) } @@ -86,7 +83,17 @@ class NewPageTest: WebPageTest(::NewPage) { @Test fun `page can be created by dependency injection`() { - assertThat(baseInjector.getInstance(), notNullValue()) + assertThat(baseInjector.getInstance(), notNullValue()) + } + + @Test + fun `page is annotated with the correct menuname`() { + assertThat(page.menuName, equalTo("New")) + } + + @Test + fun `page is annotated with correct template path`() { + assertThat(page.templatePath, equalTo("/templates/new.html")) } }