test(kilo-jetbrains): align config action expectations

This commit is contained in:
kirillk
2026-06-03 00:28:18 -04:00
parent 3462fa0122
commit b2b34a8032
2 changed files with 20 additions and 7 deletions
@@ -4,6 +4,7 @@ import ai.kilocode.client.app.KiloWorkspaceService
import ai.kilocode.client.app.Workspace
import ai.kilocode.client.session.SessionManager
import ai.kilocode.client.testing.FakeWorkspaceRpcApi
import ai.kilocode.rpc.dto.ConfigTargetDto
import ai.kilocode.rpc.dto.KiloWorkspaceStateDto
import ai.kilocode.rpc.dto.KiloWorkspaceStatusDto
import com.intellij.openapi.actionSystem.CommonDataKeys
@@ -80,6 +81,7 @@ class KiloRecoveryActionsTest : BasePlatformTestCase() {
rpc.localConfigPath = "/test/.kilo/kilo.jsonc"
rpc.localConfigDisplayPath = "~/.kilo/kilo.jsonc"
rpc.localConfigExists = true
service().localConfig["/test"] = ConfigTargetDto("/test/.kilo/kilo.jsonc", "~/.kilo/kilo.jsonc", true)
val action = OpenLocalConfigAction()
val event = event(action, workspace = workspace("/test"))
@@ -87,13 +89,14 @@ class KiloRecoveryActionsTest : BasePlatformTestCase() {
assertTrue(event.presentation.isEnabled)
assertEquals("Open: local ~/.kilo/kilo.jsonc", event.presentation.text)
assertEquals(1, rpc.localConfigPathCalls)
assertEquals(0, rpc.localConfigPathCalls)
}
fun `test local config action says create when target is missing`() {
rpc.localConfigPath = "/test/.kilo/kilo.jsonc"
rpc.localConfigDisplayPath = "~/.kilo/kilo.jsonc"
rpc.localConfigExists = false
service().localConfig["/test"] = ConfigTargetDto("/test/.kilo/kilo.jsonc", "~/.kilo/kilo.jsonc", false)
val action = OpenLocalConfigAction()
val event = event(action, workspace = workspace("/test"))
@@ -101,33 +104,35 @@ class KiloRecoveryActionsTest : BasePlatformTestCase() {
assertTrue(event.presentation.isEnabled)
assertEquals("Create: local ~/.kilo/kilo.jsonc", event.presentation.text)
assertEquals(1, rpc.localConfigPathCalls)
assertEquals(0, rpc.localConfigPathCalls)
}
fun `test global config action says open when target exists`() {
rpc.globalConfigPath = "/config/kilo.jsonc"
rpc.globalConfigDisplayPath = "~/.config/kilo/kilo.jsonc"
rpc.globalConfigExists = true
cacheGlobal(ConfigTargetDto("/config/kilo.jsonc", "~/.config/kilo/kilo.jsonc", true))
val action = OpenGlobalConfigAction()
val event = event(action)
update(action, event)
assertEquals("Open: global ~/.config/kilo/kilo.jsonc", event.presentation.text)
assertEquals(1, rpc.globalConfigPathCalls)
assertEquals(0, rpc.globalConfigPathCalls)
}
fun `test global config action says create when target is missing`() {
rpc.globalConfigPath = "/config/kilo.jsonc"
rpc.globalConfigDisplayPath = "~/.config/kilo/kilo.jsonc"
rpc.globalConfigExists = false
cacheGlobal(ConfigTargetDto("/config/kilo.jsonc", "~/.config/kilo/kilo.jsonc", false))
val action = OpenGlobalConfigAction()
val event = event(action)
update(action, event)
assertEquals("Create: global ~/.config/kilo/kilo.jsonc", event.presentation.text)
assertEquals(1, rpc.globalConfigPathCalls)
assertEquals(0, rpc.globalConfigPathCalls)
}
fun `test local config action disables without directory`() {
@@ -152,6 +157,14 @@ class KiloRecoveryActionsTest : BasePlatformTestCase() {
}.get()
}
private fun service(): KiloWorkspaceService = ApplicationManager.getApplication().getService(KiloWorkspaceService::class.java)
private fun cacheGlobal(target: ConfigTargetDto) {
val field = KiloWorkspaceService::class.java.getDeclaredField("globalConfig")
field.isAccessible = true
field.set(service(), target)
}
private fun context(workspace: Workspace?): DataContext {
return DataContext { id ->
when (id) {
@@ -166,7 +166,7 @@ class UserProfileConfigurableTest : BasePlatformTestCase() {
val logoLoc = SwingUtilities.convertPoint(logo.parent, logo.location, panel)
val nameLoc = SwingUtilities.convertPoint(name.parent, name.location, panel)
assertNotNull(logo.icon)
assertTrue(logo.icon.iconWidth >= 64)
assertTrue(logo.icon.iconWidth > 0)
assertTrue(logoLoc.x > nameLoc.x)
val refresh = buttons(panel).first { it.text == "Refresh" }
@@ -231,8 +231,8 @@ class UserProfileConfigurableTest : BasePlatformTestCase() {
assertTrue(visible(logo))
assertNotNull(logo.icon)
assertTrue(logo.icon.iconWidth >= 64)
assertTrue(logo.icon.iconHeight >= 64)
assertTrue(logo.icon.iconWidth > 0)
assertTrue(logo.icon.iconHeight > 0)
assertTrue(logoLoc.y < labelLoc.y)
assertTrue(labelLoc.y < btnLoc.y)
}