X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FEditImageAjaxPageTest.kt;h=26436a3178058dff426e82f0ac6046eedbfd5dfa;hp=6a3d89ca12662348aa4b74d85fab1a4b8abb01f4;hb=ea7ad5e87074576d17b7df74365a726bd95d7665;hpb=51b58fad3a00b2d9cae45345ac066e89233ba0b5 diff --git a/src/test/kotlin/net/pterodactylus/sone/web/ajax/EditImageAjaxPageTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/ajax/EditImageAjaxPageTest.kt index 6a3d89c..26436a3 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/ajax/EditImageAjaxPageTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/ajax/EditImageAjaxPageTest.kt @@ -8,10 +8,14 @@ import net.pterodactylus.sone.template.ParserFilter import net.pterodactylus.sone.template.RenderFilter import net.pterodactylus.sone.template.ShortenFilter import net.pterodactylus.sone.test.argumentCaptor +import net.pterodactylus.sone.test.getInstance +import net.pterodactylus.sone.test.isProvidedByMock import net.pterodactylus.sone.test.mock import net.pterodactylus.sone.test.whenever +import net.pterodactylus.sone.web.baseInjector import org.hamcrest.MatcherAssert.assertThat import org.hamcrest.Matchers.equalTo +import org.hamcrest.Matchers.notNullValue import org.junit.Test import org.mockito.ArgumentMatchers.any import org.mockito.ArgumentMatchers.eq @@ -29,8 +33,7 @@ class EditImageAjaxPageTest : JsonPageTest("editImage.ajax") { @Test fun `request without image results in invalid-image-id`() { - assertThat(json.isSuccess, equalTo(false)) - assertThat(json.error, equalTo("invalid-image-id")) + assertThatJsonFailed("invalid-image-id") } @Test @@ -40,8 +43,7 @@ class EditImageAjaxPageTest : JsonPageTest("editImage.ajax") { whenever(image.sone).thenReturn(sone) addImage(image, "image-id") addRequestParameter("image", "image-id") - assertThat(json.isSuccess, equalTo(false)) - assertThat(json.error, equalTo("not-authorized")) + assertThatJsonFailed("not-authorized") } @Test @@ -56,9 +58,9 @@ class EditImageAjaxPageTest : JsonPageTest("editImage.ajax") { addImage(image) addRequestParameter("image", "image-id") addRequestParameter("moveLeft", "true") - assertThat(json.isSuccess, equalTo(true)) - assertThat(json["sourceImageId"].asText(), equalTo("image-id")) - assertThat(json["destinationImageId"].asText(), equalTo("swapped")) + assertThatJsonIsSuccessful() + assertThat(json["sourceImageId"]?.asText(), equalTo("image-id")) + assertThat(json["destinationImageId"]?.asText(), equalTo("swapped")) verify(core).touchConfiguration() } @@ -74,9 +76,9 @@ class EditImageAjaxPageTest : JsonPageTest("editImage.ajax") { addImage(image) addRequestParameter("image", "image-id") addRequestParameter("moveRight", "true") - assertThat(json.isSuccess, equalTo(true)) - assertThat(json["sourceImageId"].asText(), equalTo("image-id")) - assertThat(json["destinationImageId"].asText(), equalTo("swapped")) + assertThatJsonIsSuccessful() + assertThat(json["sourceImageId"]?.asText(), equalTo("image-id")) + assertThat(json["destinationImageId"]?.asText(), equalTo("swapped")) verify(core).touchConfiguration() } @@ -87,8 +89,7 @@ class EditImageAjaxPageTest : JsonPageTest("editImage.ajax") { whenever(image.sone).thenReturn(sone) addImage(image) addRequestParameter("image", "image-id") - assertThat(json.isSuccess, equalTo(false)) - assertThat(json.error, equalTo("invalid-image-title")) + assertThatJsonFailed("invalid-image-title") } @Test @@ -106,14 +107,23 @@ class EditImageAjaxPageTest : JsonPageTest("editImage.ajax") { addRequestParameter("title", "some title") addRequestParameter("description", "some http://127.0.0.1:8888/KSK@foo link") addRequestHeader("Host", "127.0.0.1:8888") - assertThat(json.isSuccess, equalTo(true)) - assertThat(json["title"].asText(), equalTo("some title")) - assertThat(json["description"].asText(), equalTo("some KSK@foo link")) - assertThat(json["parsedDescription"].asText(), equalTo("rendered description")) + assertThatJsonIsSuccessful() + assertThat(json["title"]?.asText(), equalTo("some title")) + assertThat(json["description"]?.asText(), equalTo("some KSK@foo link")) + assertThat(json["parsedDescription"]?.asText(), equalTo("rendered description")) verify(core).touchConfiguration() val parameterCaptor = argumentCaptor>() verify(parserFilter).format(any(), any(), parameterCaptor.capture()) assertThat(parameterCaptor.value["sone"], equalTo(sone)) } + @Test + fun `page can be created by dependency injection`() { + assertThat(baseInjector.createChildInjector( + ParserFilter::class.isProvidedByMock(), + ShortenFilter::class.isProvidedByMock(), + RenderFilter::class.isProvidedByMock() + ).getInstance(), notNullValue()) + } + }