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=5c71e5dc876e81385c4e3e96ac09dd2a0418f531;hp=2420e5b8123743f83ebdcc905dda8d485dec1daa;hb=03c29a3838e23ed0b9731ca4d84cf58038c30dfe;hpb=65e3c95fe9d44b5654b2ac76fc09b9aaac50ca9c 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 2420e5b..5c71e5d 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/pages/NewPageTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/pages/NewPageTest.kt @@ -2,15 +2,17 @@ package net.pterodactylus.sone.web.pages import net.pterodactylus.sone.data.Post import net.pterodactylus.sone.data.PostReply -import net.pterodactylus.sone.test.asOptional +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.util.web.Method.GET +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 @@ -18,11 +20,7 @@ import java.util.Arrays.asList /** * Unit test for [NewPage]. */ -class NewPageTest: WebPageTest() { - - private val page = NewPage(template, webInterface) - - override fun getPage() = page +class NewPageTest: WebPageTest(::NewPage) { @Before fun setupNumberOfPostsPerPage() { @@ -47,10 +45,9 @@ class NewPageTest: WebPageTest() { @Test fun `posts are not duplicated when they come from both new posts and new replies notifications`() { - setMethod(GET) 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) @@ -67,7 +64,6 @@ class NewPageTest: WebPageTest() { @Test @Suppress("UNCHECKED_CAST") fun `posts are paginated properly`() { - setMethod(GET) webInterface.core.preferences.postsPerPage = 2 val posts = listOf(mock().withTime(2000), mock().withTime(3000), mock().withTime(1000)) whenever(webInterface.getNewPosts(currentSone)).thenReturn(posts) @@ -79,7 +75,6 @@ class NewPageTest: WebPageTest() { @Test @Suppress("UNCHECKED_CAST") fun `posts are paginated properly on second page`() { - setMethod(GET) webInterface.core.preferences.postsPerPage = 2 addHttpRequestParameter("page", "1") val posts = listOf(mock().withTime(2000), mock().withTime(3000), mock().withTime(1000)) @@ -89,4 +84,9 @@ class NewPageTest: WebPageTest() { } } + @Test + fun `page can be created by dependency injection`() { + assertThat(baseInjector.getInstance(), notNullValue()) + } + }