Replace static onboarding with a 3-step quest (circle → hold → read/translate), slim the draw hint, and enable emulator audio.
46 lines
1.3 KiB
Kotlin
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)
|
|
}
|
|
}
|