@@ -2,8 +2,10 @@ package com.softartdev.notedelight
22
33import androidx.test.ext.junit.runners.AndroidJUnit4
44import androidx.test.filters.MediumTest
5- import com.softartdev.notedelight.shared.data.CryptUseCase
6- import com.softartdev.notedelight.shared.database.DatabaseRepo
5+ import com.softartdev.notedelight.shared.PlatformSQLiteState
6+ import com.softartdev.notedelight.shared.db.SafeRepo
7+ import com.softartdev.notedelight.shared.usecase.crypt.ChangePasswordUseCase
8+ import com.softartdev.notedelight.shared.usecase.crypt.CheckPasswordUseCase
79import kotlinx.coroutines.runBlocking
810import org.junit.Assert.assertFalse
911import org.junit.Assert.assertTrue
@@ -15,19 +17,23 @@ import org.koin.java.KoinJavaComponent.inject
1517@RunWith(AndroidJUnit4 ::class )
1618class CryptUseCaseInstrumentedTest {
1719
18- private val dbRepo: DatabaseRepo by inject(DatabaseRepo ::class .java)
19- private val cryptUseCase = CryptUseCase (dbRepo)
20+ private val safeRepo: SafeRepo by inject(SafeRepo ::class .java)
21+ private val changePasswordUseCase = ChangePasswordUseCase (safeRepo)
22+ private val checkPasswordUseCase = CheckPasswordUseCase (safeRepo)
2023 private val password = " password"
2124
25+ private val dbIsEncrypted: Boolean
26+ get() = safeRepo.databaseState == PlatformSQLiteState .ENCRYPTED
27+
2228 @Test
2329 fun cryptTest () = runBlocking {
24- dbRepo.buildDatabaseInstanceIfNeed ()
25- assertFalse(cryptUseCase. dbIsEncrypted() )
26- cryptUseCase.changePassword (null , password)
27- assertTrue(cryptUseCase. dbIsEncrypted() )
28- dbRepo .closeDatabase()
29- assertFalse(cryptUseCase.checkPassword (" incorrect password" ))
30- assertTrue(cryptUseCase.checkPassword (password))
30+ safeRepo.buildDbIfNeed ()
31+ assertFalse(dbIsEncrypted)
32+ changePasswordUseCase (null , password)
33+ assertTrue(dbIsEncrypted)
34+ safeRepo .closeDatabase()
35+ assertFalse(checkPasswordUseCase (" incorrect password" ))
36+ assertTrue(checkPasswordUseCase (password))
3137 }
3238
3339}
0 commit comments