diff --git a/infra/enrolment-records/repository/src/main/java/com/simprints/infra/enrolment/records/repository/local/RoomEnrolmentRecordLocalDataSource.kt b/infra/enrolment-records/repository/src/main/java/com/simprints/infra/enrolment/records/repository/local/RoomEnrolmentRecordLocalDataSource.kt index bd47a046aa..61aed68169 100644 --- a/infra/enrolment-records/repository/src/main/java/com/simprints/infra/enrolment/records/repository/local/RoomEnrolmentRecordLocalDataSource.kt +++ b/infra/enrolment-records/repository/src/main/java/com/simprints/infra/enrolment/records/repository/local/RoomEnrolmentRecordLocalDataSource.kt @@ -193,7 +193,7 @@ internal class RoomEnrolmentRecordLocalDataSource @Inject constructor( } } - override suspend fun delete(queries: List) { + override suspend fun delete(queries: List): Unit = withContext(dispatcherIO) { Simber.i("[delete] Deleting subjects with queries: $queries", tag = ROOM_RECORDS_DB) database.withTransaction { queries.forEach { query -> @@ -202,7 +202,7 @@ internal class RoomEnrolmentRecordLocalDataSource @Inject constructor( } } - override suspend fun deleteAll() { + override suspend fun deleteAll(): Unit = withContext(dispatcherIO) { Simber.i("[deleteAll] Deleting all subjects.", tag = ROOM_RECORDS_DB) subjectDao.deleteSubjects(queryBuilder.buildDeleteQuery(SubjectQuery())) } diff --git a/infra/enrolment-records/repository/src/test/java/com/simprints/infra/enrolment/records/repository/local/RoomEnrolmentRecordLocalDataSourceTest.kt b/infra/enrolment-records/repository/src/test/java/com/simprints/infra/enrolment/records/repository/local/RoomEnrolmentRecordLocalDataSourceTest.kt index c95067b6d0..c916779534 100644 --- a/infra/enrolment-records/repository/src/test/java/com/simprints/infra/enrolment/records/repository/local/RoomEnrolmentRecordLocalDataSourceTest.kt +++ b/infra/enrolment-records/repository/src/test/java/com/simprints/infra/enrolment/records/repository/local/RoomEnrolmentRecordLocalDataSourceTest.kt @@ -1544,4 +1544,19 @@ class RoomEnrolmentRecordLocalDataSourceTest { // Then: Exception expected } + + @Test + fun `delete all - should delete all subjects`() = runTest { + // Given + setupInitialData() + val initialCount = dataSource.count() + + // When + dataSource.deleteAll() + + // Then + val finalCount = dataSource.count() + assertThat(finalCount).isEqualTo(0) + assertThat(initialCount).isGreaterThan(0) + } }