X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FLockSoneAjaxPageTest.kt;fp=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FLockSoneAjaxPageTest.kt;h=b63be517ae46764adf5d68d05842bb099ee5404e;hb=d142608024302ca4106a70b95daabf27aa5362a4;hp=0000000000000000000000000000000000000000;hpb=0b8fe498389b99374691506cb8c3bbb643476c3f;p=Sone.git diff --git a/src/test/kotlin/net/pterodactylus/sone/web/ajax/LockSoneAjaxPageTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/ajax/LockSoneAjaxPageTest.kt new file mode 100644 index 0000000..b63be51 --- /dev/null +++ b/src/test/kotlin/net/pterodactylus/sone/web/ajax/LockSoneAjaxPageTest.kt @@ -0,0 +1,30 @@ +package net.pterodactylus.sone.web.ajax + +import net.pterodactylus.sone.data.Sone +import net.pterodactylus.sone.test.mock +import org.hamcrest.MatcherAssert.assertThat +import org.hamcrest.Matchers.equalTo +import org.junit.Test +import org.mockito.Mockito.verify + +/** + * Unit test for [LockSoneAjaxPage]. + */ +class LockSoneAjaxPageTest : JsonPageTest("lockSone.ajax", requiresLogin = false, pageSupplier = ::LockSoneAjaxPage) { + + @Test + fun `request without valid sone results in invalid-sone-id`() { + assertThat(json.isSuccess, equalTo(false)) + assertThat(json.error, equalTo("invalid-sone-id")) + } + + @Test + fun `request with valid sone id results in locked sone`() { + val sone = mock() + addLocalSone("sone-id", sone) + addRequestParameter("sone", "sone-id") + assertThat(json.isSuccess, equalTo(true)) + verify(core).lockSone(sone) + } + +}