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
7 import org.hamcrest.Matchers.nullValue
9 import org.mockito.Mockito.verify
12 * Unit test for [UntrustAjaxPage].
14 class UntrustAjaxPageTest : JsonPageTest("untrustSone.ajax", pageSupplier = ::UntrustAjaxPage) {
17 fun `request without sone results in invalid-sone-id`() {
18 assertThat(json.isSuccess, equalTo(false))
19 assertThat(json.error, equalTo("invalid-sone-id"))
23 fun `request with invalid sone results in invalid-sone-id`() {
24 addRequestParameter("sone", "invalid")
25 assertThat(json.isSuccess, equalTo(false))
26 assertThat(json.error, equalTo("invalid-sone-id"))
30 fun `request with valid sone results in sone being untrusted`() {
31 val sone = mock<Sone>()
32 addSone(sone, "sone-id")
33 addRequestParameter("sone", "sone-id")
34 assertThat(json.isSuccess, equalTo(true))
35 verify(core).untrustSone(currentSone, sone)
39 fun `request with valid sone results in null trust value being returned`() {
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"], nullValue())