X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpages%2FBookmarksPageTest.kt;h=3668755205e15a0df299a4f6a73630945f5757a0;hb=HEAD;hp=6b4bbaef699df1ba229661e06be66f341addd79f;hpb=de7568a82eb4150bf6d2b0553841b7b69f84c968;p=Sone.git diff --git a/src/test/kotlin/net/pterodactylus/sone/web/pages/BookmarksPageTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/pages/BookmarksPageTest.kt index 6b4bbae..3668755 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/pages/BookmarksPageTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/pages/BookmarksPageTest.kt @@ -1,23 +1,19 @@ package net.pterodactylus.sone.web.pages -import net.pterodactylus.sone.data.Post -import net.pterodactylus.sone.test.mock -import net.pterodactylus.sone.test.whenever -import net.pterodactylus.sone.web.pages.WebPageTest -import net.pterodactylus.sone.web.pages.BookmarksPage -import net.pterodactylus.util.collection.Pagination -import org.hamcrest.MatcherAssert.assertThat -import org.hamcrest.Matchers.contains -import org.hamcrest.Matchers.equalTo -import org.junit.Before -import org.junit.Test +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.* /** * Unit test for [BookmarksPage]. */ -class BookmarksPageTest: WebPageTest() { +class BookmarksPageTest : WebPageTest(::BookmarksPage) { - private val page = BookmarksPage(template, webInterface) private val post1 = createLoadedPost(1000) private val post2 = createLoadedPost(3000) private val post3 = createLoadedPost(2000) @@ -30,7 +26,7 @@ class BookmarksPageTest: WebPageTest() { @Before fun setupBookmarkedPostsAndPagination() { whenever(core.bookmarkedPosts).thenReturn(setOf(post1, post2, post3)) - core.preferences.postsPerPage = 5 + core.preferences.newPostsPerPage = 5 } @Test @@ -41,20 +37,37 @@ class BookmarksPageTest: WebPageTest() { @Test @Suppress("UNCHECKED_CAST") fun `page sets correct posts in template context`() { - page.processTemplate(freenetRequest, templateContext) - assertThat(templateContext["posts"] as Collection, contains(post2, post3, post1)) - assertThat((templateContext["pagination"] as Pagination).items, contains(post2, post3, post1)) - assertThat(templateContext["postsNotLoaded"], equalTo(false)) + verifyNoRedirect { + assertThat(templateContext["posts"] as Collection, contains(post2, post3, post1)) + assertThat((templateContext["pagination"] as Pagination).items, contains(post2, post3, post1)) + assertThat(templateContext["postsNotLoaded"], equalTo(false)) + } } @Test @Suppress("UNCHECKED_CAST") fun `page does not put unloaded posts in template context but sets a flag`() { whenever(post3.isLoaded).thenReturn(false) - page.processTemplate(freenetRequest, templateContext) - assertThat(templateContext["posts"] as Collection, contains(post2, post1)) - assertThat((templateContext["pagination"] as Pagination).items, contains(post2, post1)) - assertThat(templateContext["postsNotLoaded"], equalTo(true)) + verifyNoRedirect { + assertThat(templateContext["posts"] as Collection, contains(post2, post1)) + assertThat((templateContext["pagination"] as Pagination).items, contains(post2, post1)) + assertThat(templateContext["postsNotLoaded"], equalTo(true)) + } + } + + @Test + fun `bookmarks page can be created by dependency injection`() { + assertThat(baseInjector.getInstance(), notNullValue()) + } + + @Test + fun `page is annotated with correct menuname`() { + assertThat(page.menuName, equalTo("Bookmarks")) + } + + @Test + fun `page is annotated with correct template path`() { + assertThat(page.templatePath, equalTo("/templates/bookmarks.html")) } }