6421c090774aa448bea1e5a45f928999cfa4fa53
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / web / ajax / UntrustAjaxPageTest.kt
1 package net.pterodactylus.sone.web.ajax
2
3 import net.pterodactylus.sone.data.Sone
4 import net.pterodactylus.sone.test.getInstance
5 import net.pterodactylus.sone.test.mock
6 import net.pterodactylus.sone.web.baseInjector
7 import org.hamcrest.MatcherAssert.assertThat
8 import org.hamcrest.Matchers.equalTo
9 import org.hamcrest.Matchers.notNullValue
10 import org.hamcrest.Matchers.nullValue
11 import org.junit.Test
12 import org.mockito.Mockito.verify
13
14 /**
15  * Unit test for [UntrustAjaxPage].
16  */
17 class UntrustAjaxPageTest : JsonPageTest("untrustSone.ajax", pageSupplier = ::UntrustAjaxPage) {
18
19         @Test
20         fun `request without sone results in invalid-sone-id`() {
21                 assertThatJsonFailed("invalid-sone-id")
22         }
23
24         @Test
25         fun `request with invalid sone results in invalid-sone-id`() {
26                 addRequestParameter("sone", "invalid")
27                 assertThatJsonFailed("invalid-sone-id")
28         }
29
30         @Test
31         fun `request with valid sone results in sone being untrusted`() {
32                 val sone = mock<Sone>()
33                 addSone(sone, "sone-id")
34                 addRequestParameter("sone", "sone-id")
35                 assertThatJsonIsSuccessful()
36                 verify(core).untrustSone(currentSone, sone)
37         }
38
39         @Test
40         fun `request with valid sone results in null trust value being returned`() {
41                 val sone = mock<Sone>()
42                 addSone(sone, "sone-id")
43                 addRequestParameter("sone", "sone-id")
44                 assertThatJsonIsSuccessful()
45                 assertThat(json["trustValue"], nullValue())
46         }
47
48         @Test
49         fun `page can be created by dependency injection`() {
50             assertThat(baseInjector.getInstance<UntrustAjaxPage>(), notNullValue())
51         }
52
53 }