projects
/
Sone.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
✨ Annotate CreateSonePage with MenuName
[Sone.git]
/
src
/
test
/
kotlin
/
net
/
pterodactylus
/
sone
/
web
/
pages
/
NewPageTest.kt
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
67f7811
..
3a0f34c
100644
(file)
--- 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.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.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.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 org.junit.Before
import org.junit.Test
import java.util.Arrays.asList
@@
-17,15
+21,11
@@
import java.util.Arrays.asList
/**
* Unit test for [NewPage].
*/
/**
* Unit test for [NewPage].
*/
-class NewPageTest: WebPageTest() {
-
- private val page = NewPage(template, webInterface)
-
- override fun getPage() = page
+class NewPageTest: WebPageTest(::NewPage) {
@Before
fun setupNumberOfPostsPerPage() {
@Before
fun setupNumberOfPostsPerPage() {
- webInterface.core.preferences.
p
ostsPerPage = 5
+ webInterface.core.preferences.
newP
ostsPerPage = 5
}
@Test
}
@Test
@@
-41,14
+41,14
@@
class NewPageTest: WebPageTest() {
@Test
fun `page returns correct title`() {
addTranslation("Page.New.Title", "new page title")
@Test
fun `page returns correct title`() {
addTranslation("Page.New.Title", "new page title")
- assertThat(page.getPageTitle(
freenet
Request), equalTo("new page title"))
+ assertThat(page.getPageTitle(
sone
Request), equalTo("new page title"))
}
@Test
fun `posts are not duplicated when they come from both new posts and new replies notifications`() {
val extraPost = mock<Post>().withTime(2000)
val posts = asList(mock<Post>().withTime(1000), mock<Post>().withTime(3000))
}
@Test
fun `posts are not duplicated when they come from both new posts and new replies notifications`() {
val extraPost = mock<Post>().withTime(2000)
val posts = asList(mock<Post>().withTime(1000), mock<Post>().withTime(3000))
- val postReplies = asList(mock<PostReply>(), mock
<PostReply>
())
+ val postReplies = asList(mock<PostReply>(), mock())
whenever(postReplies[0].post).thenReturn(posts[0].asOptional())
whenever(postReplies[1].post).thenReturn(extraPost.asOptional())
whenever(webInterface.getNewPosts(currentSone)).thenReturn(posts)
whenever(postReplies[0].post).thenReturn(posts[0].asOptional())
whenever(postReplies[1].post).thenReturn(extraPost.asOptional())
whenever(webInterface.getNewPosts(currentSone)).thenReturn(posts)
@@
-65,7
+65,7
@@
class NewPageTest: WebPageTest() {
@Test
@Suppress("UNCHECKED_CAST")
fun `posts are paginated properly`() {
@Test
@Suppress("UNCHECKED_CAST")
fun `posts are paginated properly`() {
- webInterface.core.preferences.
p
ostsPerPage = 2
+ webInterface.core.preferences.
newP
ostsPerPage = 2
val posts = listOf(mock<Post>().withTime(2000), mock<Post>().withTime(3000), mock<Post>().withTime(1000))
whenever(webInterface.getNewPosts(currentSone)).thenReturn(posts)
verifyNoRedirect {
val posts = listOf(mock<Post>().withTime(2000), mock<Post>().withTime(3000), mock<Post>().withTime(1000))
whenever(webInterface.getNewPosts(currentSone)).thenReturn(posts)
verifyNoRedirect {
@@
-76,7
+76,7
@@
class NewPageTest: WebPageTest() {
@Test
@Suppress("UNCHECKED_CAST")
fun `posts are paginated properly on second page`() {
@Test
@Suppress("UNCHECKED_CAST")
fun `posts are paginated properly on second page`() {
- webInterface.core.preferences.
p
ostsPerPage = 2
+ webInterface.core.preferences.
newP
ostsPerPage = 2
addHttpRequestParameter("page", "1")
val posts = listOf(mock<Post>().withTime(2000), mock<Post>().withTime(3000), mock<Post>().withTime(1000))
whenever(webInterface.getNewPosts(currentSone)).thenReturn(posts)
addHttpRequestParameter("page", "1")
val posts = listOf(mock<Post>().withTime(2000), mock<Post>().withTime(3000), mock<Post>().withTime(1000))
whenever(webInterface.getNewPosts(currentSone)).thenReturn(posts)
@@
-85,4
+85,14
@@
class NewPageTest: WebPageTest() {
}
}
}
}
+ @Test
+ fun `page can be created by dependency injection`() {
+ assertThat(baseInjector.getInstance<NewPage>(), notNullValue())
+ }
+
+ @Test
+ fun `page is annotated with the correct menuname`() {
+ assertThat(page.menuName, equalTo("New"))
+ }
+
}
}