Advertisement
anapsil83

Teste

Nov 13th, 2019
283
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.76 KB | None | 0 0
  1. package br.com.intermedium.uikit.widget
  2.  
  3. import android.content.Context
  4. import android.os.Build
  5. import android.view.View.GONE
  6. import android.view.View.VISIBLE
  7. import androidx.test.core.app.ApplicationProvider
  8. import androidx.test.ext.junit.runners.AndroidJUnit4
  9. import br.com.intermedium.uikit.R
  10. import com.google.common.truth.Truth.assertThat
  11. import kotlinx.android.synthetic.main.widget_inter_payment_chooser.view.*
  12. import org.junit.Before
  13. import org.junit.Test
  14. import org.junit.runner.RunWith
  15. import org.robolectric.Robolectric
  16. import org.robolectric.android.AttributeSetBuilder
  17. import org.robolectric.annotation.Config
  18.  
  19. @RunWith(AndroidJUnit4::class)
  20. class InterPaymentChooserTest {
  21.  
  22. private lateinit var context: Context
  23. private lateinit var attrs: AttributeSetBuilder
  24.  
  25. @Before
  26. fun setup() {
  27. context = ApplicationProvider.getApplicationContext()
  28. attrs = Robolectric.buildAttributeSet()
  29. }
  30.  
  31. @Test
  32. fun `when instantiated should set attributes correctly`() {
  33. attrs.addAttribute(R.attr.ipc_accountNumber, "938102-0")
  34. attrs.addAttribute(R.attr.ipc_cardNumber, "2345")
  35. attrs.addAttribute(R.attr.ipc_hasInstallments, "true")
  36. attrs.addAttribute(R.attr.ipc_installments, "3")
  37. attrs.addAttribute(R.attr.ipc_hasCreditCard, "true")
  38.  
  39. val interPaymentChooser = InterPaymentChooser(context, attrs.build())
  40.  
  41. with(interPaymentChooser) {
  42. assertThat(accountNumber).isEqualTo("938102-0")
  43. assertThat(cardNumber).isEqualTo("2345")
  44. assertThat(installments).isEqualTo(3)
  45. assertThat(hasInstallments).isTrue()
  46. assertThat(hasCreditCard).isTrue()
  47. }
  48. }
  49.  
  50. @Test
  51. fun `when client has credit card should show account debit or credit views`() {
  52. attrs.addAttribute(R.attr.ipc_accountNumber, "938102-0")
  53. attrs.addAttribute(R.attr.ipc_cardNumber, "2345")
  54. attrs.addAttribute(R.attr.ipc_hasInstallments, "false")
  55. attrs.addAttribute(R.attr.ipc_installments, "1")
  56. attrs.addAttribute(R.attr.ipc_hasCreditCard, "true")
  57.  
  58. val interPaymentChooser = InterPaymentChooser(context, attrs.build())
  59.  
  60. with(interPaymentChooser) {
  61. assertThat(grOptionOnlyAccountDebit.visibility).isEqualTo(GONE)
  62. assertThat(grOptionCreditOrDebit.visibility).isEqualTo(VISIBLE)
  63. }
  64. }
  65.  
  66. @Test
  67. fun `when client has no credit card should show account debit only views`() {
  68. attrs.addAttribute(R.attr.ipc_accountNumber, "938102-0")
  69. attrs.addAttribute(R.attr.ipc_hasInstallments, "false")
  70. attrs.addAttribute(R.attr.ipc_installments, "1")
  71. attrs.addAttribute(R.attr.ipc_hasCreditCard, "false")
  72.  
  73. val interPaymentChooser = InterPaymentChooser(context, attrs.build())
  74.  
  75. with(interPaymentChooser) {
  76. assertThat(grOptionOnlyAccountDebit.visibility).isEqualTo(VISIBLE)
  77. assertThat(grOptionCreditOrDebit.visibility).isEqualTo(GONE)
  78. }
  79. }
  80.  
  81. @Test
  82. fun `when has no installment and option account debit is selected should hide installments spinner and set debit single installment message`() {
  83. attrs.addAttribute(R.attr.ipc_accountNumber, "938102-0")
  84. attrs.addAttribute(R.attr.ipc_cardNumber, "2345")
  85. attrs.addAttribute(R.attr.ipc_hasInstallments, "false")
  86. attrs.addAttribute(R.attr.ipc_hasCreditCard, "true")
  87.  
  88. val interPaymentChooser = InterPaymentChooser(context, attrs.build())
  89.  
  90. with(interPaymentChooser) {
  91. bgOptionAccountDebit.performClick()
  92.  
  93. assertThat(spInstallments.visibility).isEqualTo(GONE)
  94. assertThat(tvPayment.text).isEqualTo("Pagamento Γ  vista, parcela ΓΊnica")
  95. }
  96. }
  97.  
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement