Add test for DI constructability of EditProfileFieldAjaxPage
[Sone.git] / src / main / kotlin / net / pterodactylus / sone / web / ajax / EditProfileFieldAjaxPage.kt
index 72ee005..7e7581d 100644 (file)
@@ -1,17 +1,20 @@
 package net.pterodactylus.sone.web.ajax
 
+import net.pterodactylus.sone.data.Sone
 import net.pterodactylus.sone.utils.ifFalse
 import net.pterodactylus.sone.utils.parameters
 import net.pterodactylus.sone.web.WebInterface
 import net.pterodactylus.sone.web.page.FreenetRequest
+import javax.inject.Inject
 
 /**
  * AJAX page that lets the user rename a profile field.
  */
-class EditProfileFieldAjaxPage(webInterface: WebInterface) : JsonPage("editProfileField.ajax", webInterface) {
+class EditProfileFieldAjaxPage @Inject constructor(webInterface: WebInterface) :
+               LoggedInJsonPage("editProfileField.ajax", webInterface) {
 
-       override fun createJsonObject(request: FreenetRequest) =
-                       getCurrentSone(request.toadletContext).profile.let { profile ->
+       override fun createJsonObject(currentSone: Sone, request: FreenetRequest) =
+                       currentSone.profile.let { profile ->
                                request.parameters["field"]!!
                                                .let(profile::getFieldById)
                                                ?.let { field ->
@@ -20,7 +23,7 @@ class EditProfileFieldAjaxPage(webInterface: WebInterface) : JsonPage("editProfi
                                                                        try {
                                                                                field.name = newName
                                                                                createSuccessJsonObject().also {
-                                                                                       getCurrentSone(request.toadletContext).profile = profile
+                                                                                       currentSone.profile = profile
                                                                                }
                                                                        } catch (_: IllegalArgumentException) {
                                                                                createErrorJsonObject("duplicate-field-name")