1 package net.pterodactylus.sone.web.ajax
3 import org.hamcrest.MatcherAssert.assertThat
4 import org.hamcrest.Matchers.equalTo
6 import org.mockito.Mockito.verify
9 * Unit test for [EditProfileFieldAjaxPage].
11 class EditProfileFieldAjaxPageTest : JsonPageTest("editProfileField.ajax", pageSupplier = ::EditProfileFieldAjaxPage) {
14 fun `request without field id results in invalid-field-id`() {
15 assertThatJsonFailed("invalid-field-id")
19 fun `request with empty new name results in invalid-parameter-name`() {
20 val field = currentSone.profile.addField("test-field")
21 addRequestParameter("field", field.id)
22 addRequestParameter("name", " \t ")
23 assertThatJsonFailed("invalid-parameter-name")
27 fun `request with duplicate new name results in duplicate-field-name`() {
28 currentSone.profile.addField("other-field")
29 val field = currentSone.profile.addField("test-field")
30 addRequestParameter("field", field.id)
31 addRequestParameter("name", "other-field")
32 assertThatJsonFailed("duplicate-field-name")
36 fun `request with valid field name changes field name`() {
37 val profile = currentSone.profile
38 val field = profile.addField("test-field")
39 addRequestParameter("field", field.id)
40 addRequestParameter("name", " new name ")
41 assertThatJsonIsSuccessful()
42 assertThat(field.name, equalTo("new name"))
43 verify(currentSone).profile = profile