1 package net.pterodactylus.sone.web.ajax
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
8 import org.mockito.Mockito.verify
11 * Unit test for [DistrustAjaxPage].
13 class DistrustAjaxPageTest : JsonPageTest("distrustSone.ajax", pageSupplier = ::DistrustAjaxPage) {
16 fun `request with missing sone results in invalid-sone-id`() {
17 assertThat(json.isSuccess, equalTo(false))
18 assertThat(json.error, equalTo("invalid-sone-id"))
22 fun `request with invalid sone results in invalid-sone-id`() {
23 addRequestParameter("sone", "invalid-sone")
24 assertThat(json.isSuccess, equalTo(false))
25 assertThat(json.error, equalTo("invalid-sone-id"))
29 fun `request with valid sone results in distrusted sone`() {
30 val sone = mock<Sone>()
31 addSone(sone, "sone-id")
32 addRequestParameter("sone", "sone-id")
33 assertThat(json.isSuccess, equalTo(true))
34 verify(core).distrustSone(currentSone, sone)
38 fun `request with valid sone results in correct trust value being sent back`() {
39 core.preferences.negativeTrust = -33
40 val sone = mock<Sone>()
41 addSone(sone, "sone-id")
42 addRequestParameter("sone", "sone-id")
43 assertThat(json.isSuccess, equalTo(true))
44 assertThat(json["trustValue"].asInt(), equalTo(-33))