X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpages%2FNewPageTest.kt;h=3a0f34cd9544a5065149c8b171c8ab7462cf6bcc;hp=96427e74bc194c9cdc590f1bbd83f0f55f1beefb;hb=2f1b2a7d5c7c722ec44c26253e59bde9e4f790c2;hpb=2dd40fba7031cffb35a5156435547a5d964535c9 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 96427e7..3a0f34c 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/pages/NewPageTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/pages/NewPageTest.kt @@ -2,14 +2,18 @@ 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 net.pterodactylus.sone.web.page.* 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 @@ -21,7 +25,7 @@ class NewPageTest: WebPageTest(::NewPage) { @Before fun setupNumberOfPostsPerPage() { - webInterface.core.preferences.postsPerPage = 5 + webInterface.core.preferences.newPostsPerPage = 5 } @Test @@ -37,14 +41,14 @@ 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 fun `posts are not duplicated when they come from both new posts and new replies notifications`() { val extraPost = mock().withTime(2000) val posts = asList(mock().withTime(1000), mock().withTime(3000)) - val postReplies = asList(mock(), mock()) + 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) @@ -61,7 +65,7 @@ class NewPageTest: WebPageTest(::NewPage) { @Test @Suppress("UNCHECKED_CAST") fun `posts are paginated properly`() { - webInterface.core.preferences.postsPerPage = 2 + webInterface.core.preferences.newPostsPerPage = 2 val posts = listOf(mock().withTime(2000), mock().withTime(3000), mock().withTime(1000)) whenever(webInterface.getNewPosts(currentSone)).thenReturn(posts) verifyNoRedirect { @@ -72,7 +76,7 @@ class NewPageTest: WebPageTest(::NewPage) { @Test @Suppress("UNCHECKED_CAST") fun `posts are paginated properly on second page`() { - webInterface.core.preferences.postsPerPage = 2 + 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) @@ -81,4 +85,14 @@ class NewPageTest: WebPageTest(::NewPage) { } } + @Test + fun `page can be created by dependency injection`() { + assertThat(baseInjector.getInstance(), notNullValue()) + } + + @Test + fun `page is annotated with the correct menuname`() { + assertThat(page.menuName, equalTo("New")) + } + }