1 package net.pterodactylus.sone.web.ajax
3 import net.pterodactylus.sone.data.*
4 import net.pterodactylus.sone.test.*
5 import net.pterodactylus.sone.web.*
6 import org.hamcrest.MatcherAssert.*
7 import org.hamcrest.Matchers.*
9 import org.mockito.Mockito.*
12 * Unit test for [UntrustAjaxPage].
14 class UntrustAjaxPageTest : JsonPageTest("untrustSone.ajax", pageSupplier = ::UntrustAjaxPage) {
17 fun `request without sone results in invalid-sone-id`() {
18 assertThatJsonFailed("invalid-sone-id")
22 fun `request with invalid sone results in invalid-sone-id`() {
23 addRequestParameter("sone", "invalid")
24 assertThatJsonFailed("invalid-sone-id")
28 fun `request with valid sone results in sone being untrusted`() {
29 val sone = mock<Sone>()
30 addSone(sone, "sone-id")
31 addRequestParameter("sone", "sone-id")
32 assertThatJsonIsSuccessful()
33 verify(core).untrustSone(currentSone, sone)
37 fun `request with valid sone results in null trust value being returned`() {
38 val sone = mock<Sone>()
39 addSone(sone, "sone-id")
40 addRequestParameter("sone", "sone-id")
41 assertThatJsonIsSuccessful()
42 assertThat(json["trustValue"], nullValue())
46 fun `page can be created by dependency injection`() {
47 assertThat(baseInjector.getInstance<UntrustAjaxPage>(), notNullValue())