diff --git a/app/src/main/java/com/m57/hermescontrol/ui/plugins/PluginsViewModel.kt b/app/src/main/java/com/m57/hermescontrol/ui/plugins/PluginsViewModel.kt index 84dd5e57..fb5fe2ca 100644 --- a/app/src/main/java/com/m57/hermescontrol/ui/plugins/PluginsViewModel.kt +++ b/app/src/main/java/com/m57/hermescontrol/ui/plugins/PluginsViewModel.kt @@ -57,7 +57,11 @@ class PluginsViewModel : ViewModel() { state.copy( plugins = state.plugins.map { - if (it.name == plugin.name) it.copy(enabled = targetEnabled) else it + if (it.name == plugin.name) { + it.copy(runtimeStatus = if (targetEnabled) "enabled" else "disabled") + } else { + it + } }, ) } @@ -150,7 +154,11 @@ class PluginsViewModel : ViewModel() { state.copy( plugins = state.plugins.map { - if (it.name == name) it.copy(enabled = originalEnabled) else it + if (it.name == name) { + it.copy(runtimeStatus = if (originalEnabled) "enabled" else "disabled") + } else { + it + } }, toastMessage = errorMsg, ) diff --git a/app/src/test/java/com/m57/hermescontrol/E2eIntegrationTest.kt b/app/src/test/java/com/m57/hermescontrol/E2eIntegrationTest.kt index 12e1d223..b0610bc3 100644 --- a/app/src/test/java/com/m57/hermescontrol/E2eIntegrationTest.kt +++ b/app/src/test/java/com/m57/hermescontrol/E2eIntegrationTest.kt @@ -14,6 +14,7 @@ import com.m57.hermescontrol.data.model.KanbanTask import com.m57.hermescontrol.data.model.LogResponse import com.m57.hermescontrol.data.model.MessagingPlatform import com.m57.hermescontrol.data.model.PluginInfo +import com.m57.hermescontrol.data.model.PluginsHubResponse import com.m57.hermescontrol.data.model.Skill import com.m57.hermescontrol.data.model.StatusResponse import com.m57.hermescontrol.data.model.SystemStatsResponse @@ -793,8 +794,8 @@ class E2eIntegrationTest { @Test fun testPluginsManagement_success() = runTest { - val plugin = PluginInfo("plugin-1", "Desc", "1.0", false, true) - coEvery { mockApiService.getPlugins() } returns Response.success(listOf(plugin)) + val plugin = PluginInfo("plugin-1", "Desc", "1.0", null, "disabled") + coEvery { mockApiService.getPlugins() } returns Response.success(PluginsHubResponse(listOf(plugin))) coEvery { mockApiService.enablePlugin("plugin-1") } returns Response.success(Unit) val viewModel = PluginsViewModel()