49 lines
1.7 KiB
Kotlin
49 lines
1.7 KiB
Kotlin
import android.content.Context
|
|
import androidx.test.core.app.ApplicationProvider
|
|
import kotlinx.coroutines.test.runTest
|
|
import org.junit.Assert.assertNotNull
|
|
import org.junit.Assert.assertNull
|
|
import org.junit.Before
|
|
import org.junit.Test
|
|
import org.junit.runner.RunWith
|
|
import org.robolectric.RobolectricTestRunner
|
|
import ru.myitschool.work.core.Constants
|
|
import ru.myitschool.work.data.AdminRepositoryImpl
|
|
import ru.myitschool.work.data.local.CredentialsLocalDataSource
|
|
import ru.myitschool.work.data.network.AdminNetworkDataSource
|
|
import ru.myitschool.work.domain.admin.AdminRepository
|
|
|
|
@RunWith(RobolectricTestRunner::class)
|
|
class AdminRepositoryImplTest {
|
|
|
|
private lateinit var context: Context
|
|
private lateinit var repository: AdminRepository
|
|
|
|
@Before
|
|
fun setUp() {
|
|
context = ApplicationProvider.getApplicationContext()
|
|
CredentialsLocalDataSource.buildSource(
|
|
context.getSharedPreferences(
|
|
Constants.TOKEN_KEY,
|
|
Context.MODE_PRIVATE
|
|
)
|
|
)
|
|
repository = AdminRepositoryImpl(
|
|
networkDataSource = AdminNetworkDataSource,
|
|
localCredentialsLocalDataSource = CredentialsLocalDataSource.getInstance()
|
|
)
|
|
|
|
}
|
|
|
|
@Test
|
|
fun `When user have admin permissions and blocked user exist process` () = runTest {
|
|
CredentialsLocalDataSource.getInstance().updateToken("pivanov", "admin")
|
|
assertNull(repository.blockUser("").exceptionOrNull())
|
|
}
|
|
|
|
@Test
|
|
fun `When user don not have admin permissions error` () = runTest {
|
|
CredentialsLocalDataSource.getInstance().updateToken("", "")
|
|
assertNotNull(repository.blockUser("").exceptionOrNull())
|
|
}
|
|
} |