Add and update tests for login address view holder

This commit is contained in:
Alexander Gramiak 2022-10-15 18:49:53 -06:00 committed by mergify[bot]
parent 9fd2d20310
commit 5c2679006d
1 changed files with 17 additions and 9 deletions

View File

@ -25,7 +25,7 @@ class LoginsListViewHolderTest {
private val baseLogin = SavedLogin(
guid = "abcd",
origin = "mozilla.org",
origin = "https://www.mozilla.org",
username = "admin",
password = "password",
timeLastUsed = 100L,
@ -33,32 +33,40 @@ class LoginsListViewHolderTest {
private lateinit var interactor: SavedLoginsInteractor
private lateinit var binding: LoginsItemBinding
private lateinit var holder: LoginsListViewHolder
@Before
fun setup() {
binding = LoginsItemBinding.inflate(LayoutInflater.from(testContext))
interactor = mockk(relaxed = true)
holder = LoginsListViewHolder(
binding.root,
interactor,
)
every { testContext.components.core.icons } returns BrowserIcons(testContext, mockk(relaxed = true))
}
@Test
fun `bind url and username`() {
val holder = LoginsListViewHolder(
binding.root,
interactor,
)
holder.bind(baseLogin)
assertEquals("mozilla.org", binding.webAddressView.text)
assertEquals("admin", binding.usernameView.text)
}
@Test
fun `GIVEN url has a mobile prefix WHEN url is binded THEN mobile prefix is stripped`() {
holder.bind(baseLogin.copy(origin = "https://m.mozilla.org"))
assertEquals("mozilla.org", binding.webAddressView.text)
holder.bind(baseLogin.copy(origin = "https://mobile.mozilla.org"))
assertEquals("mozilla.org", binding.webAddressView.text)
}
@Test
fun `call interactor on click`() {
val holder = LoginsListViewHolder(
binding.root,
interactor,
)
holder.bind(baseLogin)
binding.root.performClick()