Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import com.simprints.infra.config.store.models.Project
import com.simprints.infra.config.store.models.ProjectConfiguration
import com.simprints.infra.config.store.models.ProjectWithConfig
import com.simprints.infra.enrolment.records.repository.EnrolmentRecordRepository
import com.simprints.infra.enrolment.records.repository.local.migration.RealmToRoomMigrationScheduler
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.asStateFlow
Expand All @@ -21,7 +20,6 @@ class ConfigManager @Inject constructor(
private val configRepository: ConfigRepository,
private val enrolmentRecordRepository: EnrolmentRecordRepository,
private val configSyncCache: ConfigSyncCache,
private val realmToRoomMigrationScheduler: RealmToRoomMigrationScheduler,
) {
private val isProjectRefreshingFlow: MutableStateFlow<Boolean> = MutableStateFlow(false)

Expand All @@ -31,7 +29,6 @@ class ConfigManager @Inject constructor(
return configRepository.refreshProject(projectId).also {
enrolmentRecordRepository.tokenizeExistingRecords(it.project)
configSyncCache.saveUpdateTime()
realmToRoomMigrationScheduler.scheduleMigrationWorkerIfNeeded()
}
} finally {
isProjectRefreshingFlow.tryEmit(false)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import com.simprints.infra.config.store.models.Project
import com.simprints.infra.config.store.models.ProjectConfiguration
import com.simprints.infra.config.store.models.ProjectWithConfig
import com.simprints.infra.enrolment.records.repository.EnrolmentRecordRepository
import com.simprints.infra.enrolment.records.repository.local.migration.RealmToRoomMigrationScheduler
import io.mockk.*
import io.mockk.impl.annotations.MockK
import kotlinx.coroutines.ExperimentalCoroutinesApi
Expand Down Expand Up @@ -47,9 +46,6 @@ class ConfigManagerTest {
@MockK
private lateinit var deviceConfiguration: DeviceConfiguration

@MockK
private lateinit var realmToRoomMigrationScheduler: RealmToRoomMigrationScheduler

@MockK
private lateinit var project: Project

Expand All @@ -60,7 +56,6 @@ class ConfigManagerTest {
configRepository = configRepository,
enrolmentRecordRepository = enrolmentRecordRepository,
configSyncCache = configSyncCache,
realmToRoomMigrationScheduler = realmToRoomMigrationScheduler,
)
}

Expand All @@ -72,7 +67,6 @@ class ConfigManagerTest {
assertThat(refreshedProject).isEqualTo(projectWithConfig)

coVerify { configSyncCache.saveUpdateTime() }
coVerify { realmToRoomMigrationScheduler.scheduleMigrationWorkerIfNeeded() }
}

@Test
Expand Down Expand Up @@ -228,7 +222,7 @@ class ConfigManagerTest {
launch {
try {
configManager.refreshProject(PROJECT_ID)
} catch (e: Exception) {
} catch (_: Exception) {
// Expected
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,8 @@ internal class EventUpSyncTask @Inject constructor(
}
}

val projectWithConfig = configManager.refreshProject(operation.projectId)
val project = projectWithConfig.project
val config = projectWithConfig.configuration
val project = configManager.getProject(operation.projectId)
val config = configManager.getProjectConfiguration()
var lastOperation = operation.copy()
var isUsefulUpload = false

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import com.simprints.core.DispatcherBG
import com.simprints.core.workers.SimCoroutineWorker
import com.simprints.infra.authstore.AuthStore
import com.simprints.infra.config.sync.ConfigManager
import com.simprints.infra.enrolment.records.repository.local.migration.RealmToRoomMigrationScheduler
import com.simprints.infra.sync.config.usecase.HandleProjectStateUseCase
import com.simprints.infra.sync.config.usecase.RescheduleWorkersIfConfigChangedUseCase
import com.simprints.infra.sync.config.usecase.ResetLocalRecordsIfConfigChangedUseCase
Expand All @@ -24,6 +25,7 @@ internal class ProjectConfigDownSyncWorker @AssistedInject constructor(
private val handleProjectState: HandleProjectStateUseCase,
private val rescheduleWorkersIfConfigChanged: RescheduleWorkersIfConfigChangedUseCase,
private val resetLocalRecordsIfConfigChanged: ResetLocalRecordsIfConfigChangedUseCase,
private val realmToRoomMigrationScheduler: RealmToRoomMigrationScheduler,
@DispatcherBG private val dispatcher: CoroutineDispatcher,
) : SimCoroutineWorker(context, params) {
override val tag = "ProjectConfigDownSync"
Expand All @@ -41,8 +43,9 @@ internal class ProjectConfigDownSyncWorker @AssistedInject constructor(
} else {
val (project, config) = configManager.refreshProject(projectId)
handleProjectState(project.state)
rescheduleWorkersIfConfigChanged(oldConfig, config)
resetLocalRecordsIfConfigChanged(oldConfig, config)
realmToRoomMigrationScheduler.scheduleMigrationWorkerIfNeeded()
rescheduleWorkersIfConfigChanged(oldConfig, config)
success()
}
} catch (t: Throwable) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import com.google.common.truth.Truth.assertThat
import com.simprints.infra.authstore.AuthStore
import com.simprints.infra.config.store.models.ProjectWithConfig
import com.simprints.infra.config.sync.ConfigManager
import com.simprints.infra.enrolment.records.repository.local.migration.RealmToRoomMigrationScheduler
import com.simprints.infra.sync.config.testtools.project
import com.simprints.infra.sync.config.testtools.projectConfiguration
import com.simprints.infra.sync.config.usecase.HandleProjectStateUseCase
Expand Down Expand Up @@ -42,6 +43,9 @@ class ProjectConfigDownSyncWorkerTest {
@MockK
private lateinit var resetLocalRecordsIfConfigChangedUseCase: ResetLocalRecordsIfConfigChangedUseCase

@MockK
private lateinit var realmToRoomMigrationScheduler: RealmToRoomMigrationScheduler

private lateinit var projectConfigDownSyncWorker: ProjectConfigDownSyncWorker

@Before
Expand All @@ -60,6 +64,7 @@ class ProjectConfigDownSyncWorkerTest {
handleProjectState = handleProjectStateUseCase,
rescheduleWorkersIfConfigChanged = rescheduleWorkersIfConfigChangedUseCase,
resetLocalRecordsIfConfigChanged = resetLocalRecordsIfConfigChangedUseCase,
realmToRoomMigrationScheduler = realmToRoomMigrationScheduler,
dispatcher = testCoroutineRule.testCoroutineDispatcher,
)
}
Expand Down Expand Up @@ -94,8 +99,9 @@ class ProjectConfigDownSyncWorkerTest {

coVerify {
handleProjectStateUseCase.invoke(any())
rescheduleWorkersIfConfigChangedUseCase.invoke(any(), any())
resetLocalRecordsIfConfigChangedUseCase.invoke(any(), any())
realmToRoomMigrationScheduler.scheduleMigrationWorkerIfNeeded()
rescheduleWorkersIfConfigChangedUseCase.invoke(any(), any())
}
}

Expand Down