mirror of
https://github.com/oxen-io/session-android.git
synced 2023-12-14 02:53:01 +01:00
55 lines
1.6 KiB
Kotlin
55 lines
1.6 KiB
Kotlin
|
package org.thoughtcrime.securesms.groups
|
||
|
|
||
|
import androidx.arch.core.executor.testing.InstantTaskExecutorRule
|
||
|
import junit.framework.TestCase.assertNotNull
|
||
|
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||
|
import org.junit.Rule
|
||
|
import org.junit.Test
|
||
|
import org.junit.runner.RunWith
|
||
|
import org.mockito.Mock
|
||
|
import org.mockito.junit.MockitoJUnitRunner
|
||
|
import org.session.libsession.utilities.TextSecurePreferences
|
||
|
import org.thoughtcrime.securesms.MainCoroutineRule
|
||
|
import org.thoughtcrime.securesms.database.Storage
|
||
|
|
||
|
@OptIn(ExperimentalCoroutinesApi::class)
|
||
|
@RunWith(MockitoJUnitRunner::class)
|
||
|
class ClosedGroupViewTests {
|
||
|
|
||
|
@ExperimentalCoroutinesApi
|
||
|
@get:Rule
|
||
|
var mainCoroutineRule = MainCoroutineRule()
|
||
|
|
||
|
@get:Rule
|
||
|
var taskRule = InstantTaskExecutorRule()
|
||
|
|
||
|
@Mock lateinit var textSecurePreferences: TextSecurePreferences
|
||
|
@Mock lateinit var storage: Storage
|
||
|
|
||
|
@Test
|
||
|
fun `Should error on empty name`() {
|
||
|
val viewModel = createViewModel()
|
||
|
val state = CreateGroupState(
|
||
|
groupName = "",
|
||
|
groupDescription = "",
|
||
|
members = emptySet()
|
||
|
)
|
||
|
viewModel.tryCreateGroup(state)
|
||
|
assertNotNull(viewModel.viewState.value?.error)
|
||
|
}
|
||
|
|
||
|
@Test
|
||
|
fun `Should error on empty members`() {
|
||
|
val viewModel = createViewModel()
|
||
|
val state = CreateGroupState(
|
||
|
groupName = "group",
|
||
|
groupDescription = "anything",
|
||
|
members = emptySet()
|
||
|
)
|
||
|
viewModel.tryCreateGroup(state)
|
||
|
assertNotNull(viewModel.viewState.value?.error)
|
||
|
}
|
||
|
|
||
|
private fun createViewModel() = CreateGroupViewModel(textSecurePreferences, storage)
|
||
|
|
||
|
}
|