package com.complycube.reactnative.config import com.complycube.reactnative.config.helper.TestColorConverter import kotlin.test.Test import kotlin.test.assertEquals import kotlin.test.assertFailsWith class ComplyCubeSettingsTest { @Test fun createBuildsSettingsWithWorkflowTemplate() { val settings = HashMap().apply { put("clientID", "client_123") put("clientToken", "token_456") put("workflowTemplateId", "wf_123") } val result = ComplyCubeSettings.create(settings) assertEquals("client_123", result.clientID) assertEquals("token_456", result.clientToken) assertEquals("wf_123", result.workflowTemplateId) assertEquals(0, result.stages.size) } @Test fun createThrowsOnInvalidConfig() { val settings = HashMap().apply { put("clientToken", "token_456") } assertFailsWith { ComplyCubeSettings.create(settings) } } @Test fun createWithFactoryUsesProvidedFactory() { val factory = ComplyCubeConfigurationFactory(TestColorConverter()) val settings = HashMap().apply { put("clientID", "client_123") put("clientToken", "token_456") put("workflowTemplateId", "wf_123") put("designTokens", TestFixtures.designTokens()) } val result = ComplyCubeSettings.createWithFactory(settings, factory) assertEquals("wf_123", result.workflowTemplateId) assertEquals("dark", result.designTokens?.theme) } }