package Ġeu . in nos oft . android p oc . feature . feed _ list Ċ Ċ import Ġandroidx . test . Instrumentation Registry Ċ import Ġandroidx . test . rule . Activity Test Rule Ċ import Ġcom . ma ur ici ot og ner i . green coffee . Green C offee Config Ċ import Ġcom . ma ur ici ot og ner i . green coffee . Green C offee Steps Ċ import Ġcom . ma ur ici ot og ner i . green coffee . Green C offee Test Ċ import Ġcom . ma ur ici ot og ner i . green coffee . Scenario Config Ċ import Ġcom . ma ur ici ot og ner i . green coffee . annotations . Given Ċ import Ġcom . ma ur ici ot og ner i . green coffee . annotations . Then Ċ import Ġcom . ma ur ici ot og ner i . green coffee . annotations . When Ċ import Ġcom . n ha ar man . mockito _ kotlin . wh enever Ċ import Ġeu . in nos oft . android p oc . App Ċ import Ġeu . in nos oft . android p oc . App Module Ċ import Ġeu . in nos oft . android p oc . D agger Mock App Component Ċ import Ġeu . in nos oft . android p oc . Mock App Component Ċ import Ġeu . in nos oft . android p oc . activities . app _ main . Main View Ċ import Ġeu . in nos oft . android p oc . data . api . Api Ċ import Ġeu . in nos oft . android p oc . data . models . Ad Model Ċ import Ġeu . in nos oft . android p oc . data . models . Feed Model Ċ import Ġio . reactivex . Single Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . junit . runners . Parameterized Ċ import Ġorg . mockito . Mockito Annotations Ċ import Ġjavax . inject . Inject ĊĊ Ċ @ RunWith ( Parameterized :: class ) Ċ class ĠFeed List Green C offee Test ( scenario Config : ĠScenario Config ) Ġ: ĠGreen C offee Test ( scenario Config ) Ġ{ ĊĊĊĠĠĠ Ġ@ get : Rule ĊĠĠĠ Ġval Ġtest Rule : ĠActivity Test Rule < Main View > Ġ= ĠActivity Test Rule ( Main View :: class . java , Ġfalse , Ġfalse ) ĊĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġmock Api : ĠApi ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmock App Component : ĠMock App Component ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Parameterized . Parameters ( name Ġ= Ġ"{ 0 }") ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġscenarios (): ĠIterable < Scenario Config > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠGreen C offee Config () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Feature From Assets (" assets / feed list . feature ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. take Screenshot On Fail () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. scenarios () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ ĠMockito Annotations . init Mocks ( this ) ĊĠĠĠĠĠĠĠ Ġval Ġapp Ġ= ĠInstrument ation Registry . getTarget Context (). application Context Ġas ĠApp ĊĠĠĠĠĠĠĠ Ġmock App Component Ġ= ĠD agger Mock App Component . builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. app Module ( App Module ( app )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġapp . set App Component ( mock App Component ) ĊĠĠĠĠĠĠĠ Ġmock App Component . inject ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould _ show _ feed _ detail _ after _ click _ item _ in _ feed _ list () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġstart ( Go To Feed Detail From Feed List Test ( mock Api , Ġtest Rule )) ĊĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ class ĠGo To Feed Detail From Feed List Test ( val Ġmock Api : ĠApi , Ġval Ġtest Rule : ĠActivity Test Rule < Main View >) Ġ: ĠGreen C offee Steps () Ġ{ ĊĊĠĠĠ Ġ@ Given ("^ I Ġam Ġin Ġthe Ġlist Ġscreen $ ") ĊĠĠĠ Ġfun Ġi In Feed List Screen () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhenever ( mock Api . get Ads ()). thenReturn ( Single . just ( listOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAd Model ( message Ġ= Ġ" Test ĠAd ", Ġposition Ġ= Ġ 1 )))) ĊĠĠĠĠĠĠĠ Ġwhenever ( mock Api . get Feed s ()). thenReturn ( Single . just ( listOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFeed Model ( message Ġ= Ġ" Test ĠFeed Ġ 1 ", Ġauthor Ġ= Ġ" Tester ĠNr . Ġ 1 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFeed Model ( message Ġ= Ġ" Test ĠFeed Ġ 2 ", Ġauthor Ġ= Ġ" Tester ĠNr . Ġ 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFeed Model ( message Ġ= Ġ" Test ĠFeed Ġ 3 ", Ġauthor Ġ= Ġ" Tester ĠNr . Ġ 3 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFeed Model ( message Ġ= Ġ" Test ĠFeed Ġ 4 ", Ġauthor Ġ= Ġ" Tester ĠNr . Ġ 4 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFeed Model ( message Ġ= Ġ" Test ĠFeed Ġ 5 ", Ġauthor Ġ= Ġ" Tester ĠNr . Ġ 5 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFeed Model ( message Ġ= Ġ" Test ĠFeed Ġ 6 ", Ġauthor Ġ= Ġ" Tester ĠNr . Ġ 6 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFeed Model ( message Ġ= Ġ" Test ĠFeed Ġ 7 ", Ġauthor Ġ= Ġ" Tester ĠNr . Ġ 7 ")) )) ĊĊĠĠĠĠĠĠĠ Ġtest Rule . launch Activity ( null ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ When ("^ I Ġclick Ġa Ġfeed Ġcell $ ") ĊĠĠĠ Ġfun Ġi Click AF eed Cell () Ġ{ ĊĠĠĠĠĠĠĠ Ġload List Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclick On First Item () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Then ("^ I Ġsee Ġa Ġdetail Ġlist Ġscreen ") ĊĠĠĠ Ġfun Ġi Se AD et ail List Screen () Ġ{ ĊĠĠĠĠĠĠĠ Ġload List Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Feed Detail () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ