Files
crkl/app/src/test/java/com/example/crkl/integrations/IntegrationSettingsTest.kt
T
ilia c9180330e2
CI / skip-ci-check (pull_request) Successful in 31s
CI / secret-scan (pull_request) Successful in 29s
Wire Circle quest into first-run with tests
Replace static onboarding with a 3-step quest (circle → hold →
read/translate), slim the draw hint, and enable emulator audio.
2026-08-05 15:06:14 -04:00

46 lines
1.3 KiB
Kotlin

package com.example.crkl.integrations
import com.example.crkl.testutil.MemorySharedPreferences
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
import org.junit.Test
class IntegrationSettingsTest {
@Test
fun defaults_includeCircleStyle() {
val s = IntegrationSettings(MemorySharedPreferences())
assertEquals(IntegrationSettings.DEFAULT_VIKUNJA_URL, s.vikunjaUrl)
assertEquals("cyan", s.circleColorKey)
assertTrue(s.circleNeon)
assertFalse(s.preferGogEmail)
assertTrue(s.statusSummary().contains("Circle: cyan"))
}
@Test
fun vikunjaReady_requiresToken() {
val s = IntegrationSettings(MemorySharedPreferences())
s.vikunjaToken = "tok"
assertTrue(s.vikunjaReady())
}
@Test
fun onboardingComplete_defaultsFalse() {
val s = IntegrationSettings(MemorySharedPreferences())
assertFalse(s.onboardingComplete)
s.onboardingComplete = true
assertTrue(s.onboardingComplete)
}
@Test
fun questStep_defaultsZeroAndClamps() {
val s = IntegrationSettings(MemorySharedPreferences())
assertEquals(0, s.questStep)
s.questStep = 2
assertEquals(2, s.questStep)
s.questStep = 99
assertEquals(3, s.questStep)
}
}