X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FDeleteProfileFieldAjaxPageTest.kt;fp=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FDeleteProfileFieldAjaxPageTest.kt;h=6ea28f3ad60831bf292712e9fb4a3e1b2c93d697;hb=4588d890e2d7eae8f9ca727a4435ad388c172615;hp=0000000000000000000000000000000000000000;hpb=6cac5513ec98c44bc574a87111bec2a2524464bd;p=Sone.git diff --git a/src/test/kotlin/net/pterodactylus/sone/web/ajax/DeleteProfileFieldAjaxPageTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/ajax/DeleteProfileFieldAjaxPageTest.kt new file mode 100644 index 0000000..6ea28f3 --- /dev/null +++ b/src/test/kotlin/net/pterodactylus/sone/web/ajax/DeleteProfileFieldAjaxPageTest.kt @@ -0,0 +1,31 @@ +package net.pterodactylus.sone.web.ajax + +import org.hamcrest.MatcherAssert.assertThat +import org.hamcrest.Matchers.equalTo +import org.hamcrest.Matchers.nullValue +import org.junit.Test +import org.mockito.Mockito.verify + +/** + * Unit test for [DeleteProfileFieldAjaxPage]. + */ +class DeleteProfileFieldAjaxPageTest : JsonPageTest("deleteProfileField.ajax", pageSupplier = ::DeleteProfileFieldAjaxPage) { + + @Test + fun `request without field id results in invalid field id error`() { + assertThat(json.isSuccess, equalTo(false)) + assertThat(json.error, equalTo("invalid-field-id")) + } + + @Test + fun `request with valid field id results in field deletion`() { + profile.addField("foo") + val fieldId = profile.getFieldByName("foo")!!.id + addRequestParameter("field", fieldId) + assertThat(json.isSuccess, equalTo(true)) + assertThat(profile.getFieldByName("foo"), nullValue()) + verify(currentSone).profile = profile + verify(core).touchConfiguration() + } + +}