package Ġcom . stripe . android . payments heet Ċ Ċ import Ġandroidx . core . os . bundle Of Ċ import Ġandroidx . core . view . isVisible Ċ import Ġandroidx . fragment . app . testing . launch Fragment In Container Ċ import Ġandroidx . test . core . app . Application Provider Ċ import Ġcom . google . common . truth . Truth . assertThat Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . mock Ċ import Ġcom . stripe . android . ApiKey Fixtures Ċ import Ġcom . stripe . android . Payment Configuration Ċ import Ġcom . stripe . android . R Ċ import Ġcom . stripe . android . databinding . Fragment Payments heet Add Card Binding Ċ import Ġcom . stripe . android . model . Payment Intent Fixtures Ċ import Ġcom . stripe . android . payments heet . analytics . Event Reporter Ċ import Ġcom . stripe . android . payments heet . analytics . SessionId Ċ import Ġcom . stripe . android . payments heet . model . Fragment Config Ċ import Ġcom . stripe . android . payments heet . model . Fragment Config Fixtures Ċ import Ġcom . stripe . android . payments heet . ui . Payment Sheet Fragment Factory Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . ro bo lectric . Ro bo lectric TestRunner Ċ Ċ @ RunWith ( Ro bo lectric TestRunner :: class ) Ċ class ĠPayment Options Add Card Fragment Test Ġ{ ĊĠĠĠ Ġprivate Ġval Ġevent Reporter Ġ= Ġmock < Event Reporter >() ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ ĠPayment Configuration . init ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApplication Provider . getApplicationContext (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApi Key Fixtures . FA KE _ PUBL ISH ABLE _ KEY ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` when Ġis Google Pay Enabled = true Ġshould Ġstill Ġnot Ġdisplay Ġthe ĠGoogle ĠPay Ġbutton `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Fragment Ġ{ Ġ_, Ġview Binding Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( view Binding . google Pay Button . isVisible ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isFalse () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Fragment ( ĊĠĠĠĠĠĠĠ Ġargs : ĠPayment Option Contract . Args Ġ= ĠPayment Option Contract . Args ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpayment Intent Ġ= ĠPayment Intent Fixtures . PI _ REQ UIRES _ PAYMENT _ METHOD , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpayment Methods Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠsessionId Ġ= ĠSession Id (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= ĠPayment Sheet Fixtures . CONFIG _ GOOGLE PAY , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Google Pay Ready Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew Card Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstatus Bar Color Ġ= ĠPayment Sheet Fixtures . STATUS _ BAR _ COLOR ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġfragment Config : ĠFragment Config ? Ġ= ĠFragment Config Fixtures . DEFAULT , ĊĠĠĠĠĠĠĠ Ġon Ready : Ġ( Payment Options Add Card Fragment , ĠFragment Payments heet Add Card Binding ) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlaunch Fragment In Container < Payment Options Add Card Fragment >( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbundle Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPayment Options Activity . EXTRA _ FRAGMENT _ CONFIG Ġto Ġfragment Config , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPayment Options Activity . EXTRA _ STAR TER _ ARGS Ġto Ġargs ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . style . Stripe Payment Sheet Default Theme , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfactory Ġ= ĠPayment Sheet Fragment Factory ( event Reporter ) ĊĠĠĠĠĠĠĠ Ġ). on Fragment Ġ{ Ġfragment Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Ready ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFragment Payments heet Add Card Binding . bind ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire NotNull ( fragment . view ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ