add more options to default reply visibility setting (#4568)
This adds `direct` and `match_default_post_visibility` as options to the default reply visibility setting. `match_default_post_visibility` will be the default for new accounts. closes https://github.com/tuskyapp/Tusky/issues/4555 <img src="https://github.com/user-attachments/assets/b256ff32-cd49-4274-903b-96da96451e0e" width="320"/>
This commit is contained in:
parent
18b943fef5
commit
892801b83a
13 changed files with 135 additions and 35 deletions
|
|
@ -6,8 +6,8 @@ import com.keylesspalace.tusky.db.AccountManager
|
|||
import com.keylesspalace.tusky.db.entity.AccountEntity
|
||||
import com.keylesspalace.tusky.entity.Status
|
||||
import com.keylesspalace.tusky.network.MastodonApi
|
||||
import com.keylesspalace.tusky.settings.DefaultReplyVisibility
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.mockito.kotlin.doReturn
|
||||
|
|
@ -23,8 +23,7 @@ class ComposeViewModelTest {
|
|||
private lateinit var eventHub: EventHub
|
||||
private lateinit var viewModel: ComposeViewModel
|
||||
|
||||
@Before
|
||||
fun setup() {
|
||||
private fun setup(defaultReplyVisibility: DefaultReplyVisibility = DefaultReplyVisibility.UNLISTED) {
|
||||
api = mock()
|
||||
accountManager = mock {
|
||||
on { activeAccount } doReturn
|
||||
|
|
@ -34,7 +33,8 @@ class ComposeViewModelTest {
|
|||
accessToken = "fakeToken",
|
||||
clientId = "fakeId",
|
||||
clientSecret = "fakeSecret",
|
||||
isActive = true
|
||||
isActive = true,
|
||||
defaultReplyPrivacy = defaultReplyVisibility
|
||||
)
|
||||
}
|
||||
eventHub = EventHub()
|
||||
|
|
@ -51,6 +51,7 @@ class ComposeViewModelTest {
|
|||
|
||||
@Test
|
||||
fun `startingVisibility initially set to defaultPostPrivacy for post`() {
|
||||
setup()
|
||||
viewModel.setup(null)
|
||||
|
||||
assertEquals(Status.Visibility.PUBLIC, viewModel.statusVisibility.value)
|
||||
|
|
@ -58,8 +59,17 @@ class ComposeViewModelTest {
|
|||
|
||||
@Test
|
||||
fun `startingVisibility initially set to replyPostPrivacy for reply`() {
|
||||
setup()
|
||||
viewModel.setup(ComposeActivity.ComposeOptions(inReplyToId = "123"))
|
||||
|
||||
assertEquals(Status.Visibility.UNLISTED, viewModel.statusVisibility.value)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `startingVisibility initially set to defaultPostPrivacy when replyPostPrivacy is MATCH_DEFAULT_POST_VISIBILITY for reply`() {
|
||||
setup(defaultReplyVisibility = DefaultReplyVisibility.MATCH_DEFAULT_POST_VISIBILITY)
|
||||
viewModel.setup(ComposeActivity.ComposeOptions(inReplyToId = "123"))
|
||||
|
||||
assertEquals(Status.Visibility.PUBLIC, viewModel.statusVisibility.value)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue