X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FCreatePostAjaxPageTest.kt;h=821198fe4fea924a6322bba13ebb8f54967dd933;hp=0588b6a5436370d8896190ca378e7123087388c2;hb=ea7ad5e87074576d17b7df74365a726bd95d7665;hpb=858eb848396910330160dcce9817c0d3e6d37cce diff --git a/src/test/kotlin/net/pterodactylus/sone/web/ajax/CreatePostAjaxPageTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/ajax/CreatePostAjaxPageTest.kt index 0588b6a..821198f 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/ajax/CreatePostAjaxPageTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/ajax/CreatePostAjaxPageTest.kt @@ -3,59 +3,37 @@ package net.pterodactylus.sone.web.ajax import com.google.common.base.Optional import net.pterodactylus.sone.data.Post import net.pterodactylus.sone.data.Sone +import net.pterodactylus.sone.test.getInstance import net.pterodactylus.sone.test.mock import net.pterodactylus.sone.test.whenever import net.pterodactylus.sone.utils.asOptional +import net.pterodactylus.sone.web.baseInjector import org.hamcrest.MatcherAssert.assertThat import org.hamcrest.Matchers.equalTo +import org.hamcrest.Matchers.notNullValue import org.hamcrest.Matchers.nullValue import org.junit.Test /** * Unit test for [CreatePostAjaxPage]. */ -class CreatePostAjaxPageTest : JsonPageTest(::CreatePostAjaxPage) { - - @Test - fun `page returns correct path`() { - assertThat(page.path, equalTo("createPost.ajax")) - } - - @Test - fun `page needs form password`() { - assertThat(page.needsFormPassword(), equalTo(true)) - } - - @Test - fun `page requires login`() { - assertThat(page.requiresLogin(), equalTo(true)) - } - - @Test - fun `page requires a current sone`() { - unsetCurrentSone() - assertThat(json.isSuccess, equalTo(false)) - assertThat(json.error, equalTo("auth-required")) - } +class CreatePostAjaxPageTest : JsonPageTest("createPost.ajax", pageSupplier = ::CreatePostAjaxPage) { @Test fun `missing text parameter returns error`() { - assertThat(json.isSuccess, equalTo(false)) - assertThat(json.error, equalTo("text-required")) + assertThatJsonFailed("text-required") } @Test fun `empty text returns error`() { addRequestParameter("text", "") - assertThat(json.isSuccess, equalTo(false)) - assertThat(json.error, equalTo("text-required")) + assertThatJsonFailed("text-required") } @Test fun `whitespace-only text returns error`() { addRequestParameter("text", " ") - assertThat(json.isSuccess, equalTo(false)) - assertThat(json.error, equalTo("text-required")) + assertThatJsonFailed("text-required") } @Test @@ -63,9 +41,9 @@ class CreatePostAjaxPageTest : JsonPageTest(::CreatePostAjaxPage) { addRequestParameter("text", "test") val post = createPost() whenever(core.createPost(currentSone, Optional.absent(), "test")).thenReturn(post) - assertThat(json.isSuccess, equalTo(true)) - assertThat(json["postId"].asText(), equalTo("id")) - assertThat(json["sone"].asText(), equalTo(currentSone.id)) + assertThatJsonIsSuccessful() + assertThat(json["postId"]?.asText(), equalTo("id")) + assertThat(json["sone"]?.asText(), equalTo(currentSone.id)) assertThat(json["recipient"], nullValue()) } @@ -75,9 +53,9 @@ class CreatePostAjaxPageTest : JsonPageTest(::CreatePostAjaxPage) { addRequestParameter("recipient", "invalid") val post = createPost() whenever(core.createPost(currentSone, Optional.absent(), "test")).thenReturn(post) - assertThat(json.isSuccess, equalTo(true)) - assertThat(json["postId"].asText(), equalTo("id")) - assertThat(json["sone"].asText(), equalTo(currentSone.id)) + assertThatJsonIsSuccessful() + assertThat(json["postId"]?.asText(), equalTo("id")) + assertThat(json["sone"]?.asText(), equalTo(currentSone.id)) assertThat(json["recipient"], nullValue()) } @@ -89,10 +67,10 @@ class CreatePostAjaxPageTest : JsonPageTest(::CreatePostAjaxPage) { addSone(recipient) val post = createPost("valid") whenever(core.createPost(currentSone, Optional.of(recipient), "test")).thenReturn(post) - assertThat(json.isSuccess, equalTo(true)) - assertThat(json["postId"].asText(), equalTo("id")) - assertThat(json["sone"].asText(), equalTo(currentSone.id)) - assertThat(json["recipient"].asText(), equalTo("valid")) + assertThatJsonIsSuccessful() + assertThat(json["postId"]?.asText(), equalTo("id")) + assertThat(json["sone"]?.asText(), equalTo(currentSone.id)) + assertThat(json["recipient"]?.asText(), equalTo("valid")) } @Test @@ -101,9 +79,9 @@ class CreatePostAjaxPageTest : JsonPageTest(::CreatePostAjaxPage) { addRequestHeader("Host", "freenet.test:8888") val post = createPost() whenever(core.createPost(currentSone, Optional.absent(), "Link KSK@foo is filtered")).thenReturn(post) - assertThat(json.isSuccess, equalTo(true)) - assertThat(json["postId"].asText(), equalTo("id")) - assertThat(json["sone"].asText(), equalTo(currentSone.id)) + assertThatJsonIsSuccessful() + assertThat(json["postId"]?.asText(), equalTo("id")) + assertThat(json["sone"]?.asText(), equalTo(currentSone.id)) assertThat(json["recipient"], nullValue()) } @@ -114,4 +92,9 @@ class CreatePostAjaxPageTest : JsonPageTest(::CreatePostAjaxPage) { whenever(this.recipientId).thenReturn(recipientId.asOptional()) } + @Test + fun `page can be created by dependency injection`() { + assertThat(baseInjector.getInstance(), notNullValue()) + } + }