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=b79e6df2f08c3e9edcfa44829e7bb3df7d1db123;hp=8d7e52134094456ccd950b6688fe85537791ed2c;hb=faf66247a34f64946990a985d2ea3003465969cb;hpb=d58ef344b43543fdcfca13c07df87e194f004376 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 8d7e521..b79e6df 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/ajax/CreatePostAjaxPageTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/ajax/CreatePostAjaxPageTest.kt @@ -3,11 +3,14 @@ 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 @@ -18,30 +21,27 @@ class CreatePostAjaxPageTest : JsonPageTest("createPost.ajax", pageSupplier = :: @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 fun `request with valid data creates post`() { addRequestParameter("text", "test") val post = createPost() - whenever(core.createPost(currentSone, Optional.absent(), "test")).thenReturn(post) - assertThat(json.isSuccess, equalTo(true)) + whenever(core.createPost(currentSone, null, "test")).thenReturn(post) + assertThatJsonIsSuccessful() assertThat(json["postId"]?.asText(), equalTo("id")) assertThat(json["sone"]?.asText(), equalTo(currentSone.id)) assertThat(json["recipient"], nullValue()) @@ -52,8 +52,8 @@ class CreatePostAjaxPageTest : JsonPageTest("createPost.ajax", pageSupplier = :: addRequestParameter("text", "test") addRequestParameter("recipient", "invalid") val post = createPost() - whenever(core.createPost(currentSone, Optional.absent(), "test")).thenReturn(post) - assertThat(json.isSuccess, equalTo(true)) + whenever(core.createPost(currentSone, null, "test")).thenReturn(post) + assertThatJsonIsSuccessful() assertThat(json["postId"]?.asText(), equalTo("id")) assertThat(json["sone"]?.asText(), equalTo(currentSone.id)) assertThat(json["recipient"], nullValue()) @@ -66,8 +66,8 @@ class CreatePostAjaxPageTest : JsonPageTest("createPost.ajax", pageSupplier = :: val recipient = mock().apply { whenever(id).thenReturn("valid") } addSone(recipient) val post = createPost("valid") - whenever(core.createPost(currentSone, Optional.of(recipient), "test")).thenReturn(post) - assertThat(json.isSuccess, equalTo(true)) + whenever(core.createPost(currentSone, recipient, "test")).thenReturn(post) + assertThatJsonIsSuccessful() assertThat(json["postId"]?.asText(), equalTo("id")) assertThat(json["sone"]?.asText(), equalTo(currentSone.id)) assertThat(json["recipient"]?.asText(), equalTo("valid")) @@ -78,8 +78,8 @@ class CreatePostAjaxPageTest : JsonPageTest("createPost.ajax", pageSupplier = :: addRequestParameter("text", "Link http://freenet.test:8888/KSK@foo is filtered") 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)) + whenever(core.createPost(currentSone, null, "Link KSK@foo is filtered")).thenReturn(post) + assertThatJsonIsSuccessful() assertThat(json["postId"]?.asText(), equalTo("id")) assertThat(json["sone"]?.asText(), equalTo(currentSone.id)) assertThat(json["recipient"], nullValue()) @@ -92,4 +92,9 @@ class CreatePostAjaxPageTest : JsonPageTest("createPost.ajax", pageSupplier = :: whenever(this.recipientId).thenReturn(recipientId.asOptional()) } + @Test + fun `page can be created by dependency injection`() { + assertThat(baseInjector.getInstance(), notNullValue()) + } + }