Move assertions to base class
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / web / ajax / TrustAjaxPageTest.kt
1 package net.pterodactylus.sone.web.ajax
2
3 import net.pterodactylus.sone.data.Sone
4 import net.pterodactylus.sone.test.mock
5 import org.hamcrest.MatcherAssert.assertThat
6 import org.hamcrest.Matchers.equalTo
7 import org.junit.Test
8 import org.mockito.Mockito.verify
9
10 /**
11  * Unit test for [TrustAjaxPage].
12  */
13 class TrustAjaxPageTest : JsonPageTest("trustSone.ajax", requiresLogin = true, needsFormPassword = true, pageSupplier = ::TrustAjaxPage) {
14
15         private val sone = mock<Sone>()
16
17         @Test
18         fun `request with invalid sone results in invalid-sone-id`() {
19                 assertThatJsonFailed("invalid-sone-id")
20         }
21
22         @Test
23         fun `request with valid sone trust sone`() {
24                 addSone(sone, "sone-id")
25                 addRequestParameter("sone", "sone-id")
26                 assertThatJsonIsSuccessful()
27                 verify(core).trustSone(currentSone, sone)
28         }
29
30         @Test
31         fun `request with valid sone returns positive trust value`() {
32                 addSone(sone, "sone-id")
33                 addRequestParameter("sone", "sone-id")
34                 core.preferences.positiveTrust = 31
35                 assertThatJsonIsSuccessful()
36                 assertThat(json["trustValue"]?.asInt(), equalTo(31))
37         }
38
39 }