Updated on 2026-08-14
This commit is contained in:
parent
68297064be
commit
718040195a
2 changed files with 15 additions and 15 deletions
|
|
@ -88,7 +88,7 @@ internal class AddressBookListModelTest {
|
|||
val syncGate = CompletableDeferred<Unit>()
|
||||
coEvery { syncAddressBooksUseCase() } coAnswers { syncGate.await(); Unit.right() }
|
||||
every { getVerifiedContactsInteractor.getVerifiedContacts(query = "", userWalletId = null) } returns
|
||||
flowOf(listOf(verifiedContact(id = "1", name = "Alice")))
|
||||
flowOf(listOf(contact(id = "1", name = "Alice")))
|
||||
|
||||
// Act
|
||||
val model = createModel(testScope = this, mode = AddressBookRoute.ListMode.Default)
|
||||
|
|
@ -109,7 +109,7 @@ internal class AddressBookListModelTest {
|
|||
fun `GIVEN default mode AND verified contacts WHEN created THEN content shown`() = runTest {
|
||||
// Arrange
|
||||
every { getVerifiedContactsInteractor.getVerifiedContacts(query = "", userWalletId = null) } returns
|
||||
flowOf(listOf(verifiedContact(id = "1", name = "Alice"), verifiedContact(id = "2", name = "Bob")))
|
||||
flowOf(listOf(contact(id = "1", name = "Alice"), contact(id = "2", name = "Bob")))
|
||||
|
||||
// Act
|
||||
val model = createModel(testScope = this, mode = AddressBookRoute.ListMode.Default)
|
||||
|
|
@ -139,7 +139,7 @@ internal class AddressBookListModelTest {
|
|||
// Arrange
|
||||
var clickedId: String? = null
|
||||
every { getVerifiedContactsInteractor.getVerifiedContacts(query = "", userWalletId = null) } returns
|
||||
flowOf(listOf(verifiedContact(id = "42", name = "Alice")))
|
||||
flowOf(listOf(contact(id = "42", name = "Alice")))
|
||||
val model = createModel(
|
||||
testScope = this,
|
||||
mode = AddressBookRoute.ListMode.Default,
|
||||
|
|
@ -159,7 +159,7 @@ internal class AddressBookListModelTest {
|
|||
runTest {
|
||||
// Arrange
|
||||
every { getVerifiedContactsInteractor.getVerifiedContacts(query = "", userWalletId = null) } returns
|
||||
flowOf(listOf(verifiedContact(id = "1", name = "Alice"), verifiedContact(id = "2", name = "Bob")))
|
||||
flowOf(listOf(contact(id = "1", name = "Alice"), contact(id = "2", name = "Bob")))
|
||||
|
||||
// Act
|
||||
createModel(testScope = this, mode = AddressBookRoute.ListMode.Default)
|
||||
|
|
@ -190,7 +190,7 @@ internal class AddressBookListModelTest {
|
|||
fun `GIVEN selector mode WHEN contact picked THEN ContactSelectedInSend sent`() = runTest {
|
||||
// Arrange — a contact with a single ethereum address matches the selection network.
|
||||
every { getVerifiedContactsInteractor.getVerifiedContacts(query = "", userWalletId = null) } returns
|
||||
flowOf(listOf(verifiedContact(id = "42", name = "Alice")))
|
||||
flowOf(listOf(contact(id = "42", name = "Alice")))
|
||||
val model = createModel(
|
||||
testScope = this,
|
||||
mode = AddressBookRoute.ListMode.Selector(networkId = "ethereum"),
|
||||
|
|
@ -205,7 +205,7 @@ internal class AddressBookListModelTest {
|
|||
verify(exactly = 1) { analyticsSender.sendContactSelectedInSend(contactId = "42", scope = any()) }
|
||||
}
|
||||
|
||||
private fun verifiedContact(id: String, name: String): Contact = Contact(
|
||||
private fun contact(id: String, name: String): Contact = Contact(
|
||||
id = ContactId(id),
|
||||
walletId = UserWalletId("a"),
|
||||
name = ContactName(name).getOrNull()!!,
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ internal class UpdateAddressBookListContentTransformerTest {
|
|||
@Test
|
||||
fun `GIVEN contacts in one wallet WHEN blank query THEN no chips`() {
|
||||
// Arrange
|
||||
val all = listOf(verified(wallet1, "Alice"), verified(wallet1, "Bob"))
|
||||
val all = listOf(contact(wallet1, "Alice"), contact(wallet1, "Bob"))
|
||||
|
||||
// Act
|
||||
val result = transform(allContacts = all, matchedContacts = all)
|
||||
|
|
@ -40,7 +40,7 @@ internal class UpdateAddressBookListContentTransformerTest {
|
|||
@Test
|
||||
fun `GIVEN contacts in two wallets WHEN blank query THEN All plus per-wallet chips with All selected`() {
|
||||
// Arrange
|
||||
val all = listOf(verified(wallet1, "Alice"), verified(wallet2, "Bob"))
|
||||
val all = listOf(contact(wallet1, "Alice"), contact(wallet2, "Bob"))
|
||||
|
||||
// Act
|
||||
val result = transform(allContacts = all, matchedContacts = all)
|
||||
|
|
@ -58,7 +58,7 @@ internal class UpdateAddressBookListContentTransformerTest {
|
|||
@Test
|
||||
fun `GIVEN two wallets WHEN a wallet chip selected THEN list filtered but chips unchanged`() {
|
||||
// Arrange
|
||||
val all = listOf(verified(wallet1, "Alice"), verified(wallet2, "Bob"))
|
||||
val all = listOf(contact(wallet1, "Alice"), contact(wallet2, "Bob"))
|
||||
|
||||
// Act
|
||||
val result = transform(allContacts = all, matchedContacts = all, selectedWalletId = wallet2)
|
||||
|
|
@ -75,8 +75,8 @@ internal class UpdateAddressBookListContentTransformerTest {
|
|||
@Test
|
||||
fun `GIVEN two wallets WHEN query narrows to one wallet THEN chips kept as All plus that wallet`() {
|
||||
// Arrange — the book spans two wallets, but the query matched only wallet1 in the domain
|
||||
val all = listOf(verified(wallet1, "Antonio"), verified(wallet2, "Bob"))
|
||||
val matched = listOf(verified(wallet1, "Antonio"))
|
||||
val all = listOf(contact(wallet1, "Antonio"), contact(wallet2, "Bob"))
|
||||
val matched = listOf(contact(wallet1, "Antonio"))
|
||||
|
||||
// Act
|
||||
val result = transform(allContacts = all, matchedContacts = matched, query = "Anto")
|
||||
|
|
@ -91,8 +91,8 @@ internal class UpdateAddressBookListContentTransformerTest {
|
|||
@Test
|
||||
fun `GIVEN selected wallet no longer matches query THEN falls back to All`() {
|
||||
// Arrange
|
||||
val all = listOf(verified(wallet1, "Antonio"), verified(wallet2, "Bob"))
|
||||
val matched = listOf(verified(wallet1, "Antonio"))
|
||||
val all = listOf(contact(wallet1, "Antonio"), contact(wallet2, "Bob"))
|
||||
val matched = listOf(contact(wallet1, "Antonio"))
|
||||
|
||||
// Act — selected wallet2, but query matched only wallet1
|
||||
val result = transform(
|
||||
|
|
@ -120,7 +120,7 @@ internal class UpdateAddressBookListContentTransformerTest {
|
|||
@Test
|
||||
fun `GIVEN query matches nothing WHEN non-blank query THEN nothing found and chips hidden`() {
|
||||
// Arrange
|
||||
val all = listOf(verified(wallet1, "Alice"), verified(wallet2, "Bob"))
|
||||
val all = listOf(contact(wallet1, "Alice"), contact(wallet2, "Bob"))
|
||||
|
||||
// Act
|
||||
val result = transform(allContacts = all, matchedContacts = emptyList(), query = "Zzz")
|
||||
|
|
@ -156,7 +156,7 @@ internal class UpdateAddressBookListContentTransformerTest {
|
|||
private fun wallet(id: String, name: String): UserWallet =
|
||||
MockUserWalletFactory.create().copy(walletId = UserWalletId(stringValue = id), name = name)
|
||||
|
||||
private fun verified(walletId: String, name: String): Contact = Contact(
|
||||
private fun contact(walletId: String, name: String): Contact = Contact(
|
||||
id = ContactId(name + walletId),
|
||||
walletId = UserWalletId(stringValue = walletId),
|
||||
name = requireNotNull(ContactName(name).getOrNull()) { "invalid test name" },
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue