refactor: remove verified dead code across data, UI, and resources (#680)

* refactor: remove unused dead code across data, UI, and resources

* fix: resolve dangling references left by dead-code removal

Restore empty object Motion (braces required) and remove the 12 stale
test usages that still called the now-deleted production symbols:
- ServerStoreTest: removeServer/switchToServer tests
- ServerEndpointTest: isCleartext assertions
- ConnectViewModelTest: onHostChange/onPortChange tests + 3 dropped R.string refs
- SettingsViewModelTest: renameProfile tests + clearNavigateToLogin
- E2eIntegrationTest: previewSkill tests + onHostChange/onPortChange calls

Verified locally: compileDebugUnitTestKotlin + 48 tests pass.

* fix: remove unused imports flagged by ktlint

Drops 4 no-longer-referenced imports left by the dead-code removal:
- HermesApiService: SkillScanResponse (scanHubSkill removed)
- ServerEndpointTest: assertFalse, assertTrue (isCleartext assertions dropped)
- SettingsViewModelTest: assertFalse (rename tests removed)

---------

Co-authored-by: M57 <hy4ri@users.noreply.github.com>
This commit is contained in:
M57andM57 authored and GitHub committed 2026-07-22 15:51:07 +03:00
1 parent 58420d7b2a
commit 2e97ee9a84
29 files changed
+10 -550

No files matched your search

@@ -79,13 +79,6 @@ class ConnectViewModelTest {
every { mockApp.getString(R.string.connect_error_refused) } returns "Connection refused – is Hermes running?"
every { mockApp.getString(R.string.connect_error_timeout) } returns "Connection timed out"
every { mockApp.getString(R.string.connect_error_connection_failed) } returns "Connection failed: %1\$s"
every {
mockApp.getString(R.string.connect_error_malformed)
} returns "Malformed pairing string — expected URL or Base64-encoded JSON"
every {
mockApp.getString(R.string.connect_error_missing_fields)
} returns "Malformed pairing string — missing host, port, or token"
every { mockApp.getString(R.string.connect_error_parse_failed) } returns "Failed to parse pairing string: %1\$s"
}
@After
@@ -117,22 +110,6 @@ class ConnectViewModelTest {
assertNull(viewModel.uiState.value.errorMessage)
}
@Test
fun testOnHostChange() {
val viewModel = ConnectViewModel(mockApp)
viewModel.onHostChange(" 192.168.1.50 ")
assertEquals("https://192.168.1.50:9119/", viewModel.uiState.value.baseUrl)
assertNull(viewModel.uiState.value.errorMessage)
}
@Test
fun testOnPortChange() {
val viewModel = ConnectViewModel(mockApp)
viewModel.onPortChange("90abc90")
assertEquals("https://127.0.0.1:9090/", viewModel.uiState.value.baseUrl)
assertNull(viewModel.uiState.value.errorMessage)
}
@Test
fun testConnect_blankToken_showsError() {
val viewModel = ConnectViewModel(mockApp)
@@ -16,7 +16,6 @@ import kotlinx.coroutines.test.resetMain
import kotlinx.coroutines.test.setMain
import org.junit.After
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Before
import org.junit.Test
@@ -67,8 +66,6 @@ class SettingsViewModelTest {
every { AuthManager.getConnectionProfiles() } returns emptyList()
every { AuthManager.getSelectedProfileId() } answers { storedSelectedProfileId }
every { AuthManager.baseUrl() } returns "http://127.0.0.1:9119/"
every { AuthManager.setHost(any()) } returns Unit
every { AuthManager.setPort(any()) } returns Unit
every { AuthManager.setBaseUrl(any()) } returns Unit
every { AuthManager.setToken(any()) } returns Unit
every { AuthManager.setAutoReconnect(any()) } returns Unit
@@ -146,47 +143,6 @@ class SettingsViewModelTest {
assertEquals(AuthManager.DEFAULT_PROFILE_ID, viewModel.uiState.value.selectedProfileId)
}
@Test
fun testOnRenameProfileNameChange_updatesState() {
val viewModel = createViewModel()
viewModel.onRenameProfileNameChange("New Name")
assertEquals("New Name", viewModel.uiState.value.renameProfileName)
assertFalse(viewModel.uiState.value.isSaved)
}
@Test
fun testRenameProfile_updatesProfileName() {
every { AuthManager.getConnectionProfiles() } returns testProfiles
every { AuthManager.getSelectedProfileId() } returns "prof-1"
val viewModel = createViewModel()
viewModel.onRenameProfileNameChange("Renamed Work")
viewModel.renameProfile()
verify { AuthManager.saveConnectionProfiles(any()) }
}
@Test
fun testRenameProfile_withBlankName_doesNothing() {
every { AuthManager.getConnectionProfiles() } returns testProfiles
every { AuthManager.getSelectedProfileId() } returns "prof-1"
val viewModel = createViewModel()
viewModel.onRenameProfileNameChange(" ")
viewModel.renameProfile()
verify(exactly = 0) { AuthManager.saveConnectionProfiles(any()) }
}
@Test
fun testRenameProfile_noSelectedProfile_doesNothing() {
val viewModel = createViewModel()
viewModel.onRenameProfileNameChange("New Name")
viewModel.renameProfile()
verify(exactly = 0) { AuthManager.saveConnectionProfiles(any()) }
}
@Test
fun testDeleteProfile_removesProfileAndToken() {
every { AuthManager.getConnectionProfiles() } returns testProfiles
@@ -233,8 +189,5 @@ class SettingsViewModelTest {
verify { AuthManager.saveConnectionProfiles(any()) }
verify { AuthManager.setSelectedProfileId(any()) }
assertEquals(true, viewModel.uiState.value.navigateToLogin)
viewModel.clearNavigateToLogin()
assertEquals(false, viewModel.uiState.value.navigateToLogin)
}
}