package Ġio . mu un . apollo . utils . screens Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . test . uia utom ator . Ui Device Ċ import Ġio . mu un . apollo . R Ċ import Ġio . mu un . apollo . utils . With Mu un Instrumentation Helpers Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ Ċ class ĠEmail Password Setup Screen ( ĊĠĠĠ Ġoverride Ġval Ġdevice : ĠUi Device , ĊĠĠĠ Ġoverride Ġval Ġcontext : ĠContext Ċ ): ĠWith Mu un Instrumentation Helpers Ġ{ ĊĊĠĠĠ Ġfun Ġskip Setup () Ġ{ ĊĠĠĠĠĠĠĠ Ġpress Mu un Button ( R . id . create _ email _ skip ) ĊĊĠĠĠĠĠĠĠ Ġdialog . check Displayed ( R . string . setup _ password _ skip _ title ) ĊĠĠĠĠĠĠĠ Ġdialog . press Skip () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstart Setup () Ġ{ ĊĠĠĠĠĠĠĠ Ġpress Mu un Button ( R . id . setup _ password _ intro _ action ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġenter Email And Confirm ( email : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinput ( R . id . create _ email _ input ). text Ġ= Ġemail ĊĠĠĠĠĠĠĠ Ġpress Mu un Button ( R . id . create _ email _ action ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcheck Email Verification Screen Displayed ( email : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( id ( R . id . verify _ email _ title ). await ( 1 0 0 0 0 )). isTrue () ĊĠĠĠĠĠĠĠ Ġcheck Screen Shows ( email ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠWait Ġfor Ġauto Ġverify Ġemail Ġmechanism Ġto Ġkick Ġin Ġand Ġar rive Ġat Ġcreate Ġpassword . ĊĠĠĠĠ Ġ* ĠWe Ġhave Ġemail Ġauto - verification Ġon Ġlocal Ġand Ġreg test Ġenv s Ġ; ). ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġawait Email Verification ( email : ĠString , Ġensure Email Verification Screen Shown : ĠBoolean Ġ= Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( ensure Email Verification Screen Shown ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Email Verification Screen Displayed ( email ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġinput ( R . id . create _ password _ input ). await ( 1 0 0 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġenter Password s And Confirm ( password : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinput ( R . id . create _ password _ input ). text Ġ= Ġpassword ĊĠĠĠĠĠĠĠ Ġinput ( R . id . create _ password _ confirm _ input ). text Ġ= Ġpassword ĊĊĠĠĠĠĠĠĠ Ġpress Mu un Button ( R . id . create _ password _ confirm ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġaccept Conditions () Ġ{ ĊĠĠĠĠĠĠĠ Ġid ( R . id . setup _ password _ accept _ condition _ 1 ). click () ĊĠĠĠĠĠĠĠ Ġid ( R . id . setup _ password _ accept _ condition _ 2 ). click () ĊĊĠĠĠĠĠĠĠ Ġpress Mu un Button ( R . id . setup _ password _ accept _ action ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġfinish Setup () Ġ{ ĊĠĠĠĠĠĠĠ Ġpress Mu un Button ( R . id . setup _ password _ success _ action ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtry Close () Ġ{ ĊĠĠĠĠĠĠĠ Ġtoolbar . press Close () ĊĠĠĠĠĠĠĠ Ġcheck Abort Dialog Displayed () ĊĠĠĠĠĠĠĠ Ġdismiss Abort Dialog () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġabort Flow () Ġ{ ĊĠĠĠĠĠĠĠ Ġtoolbar . press Close () ĊĠĠĠĠĠĠĠ Ġcheck Abort Dialog Displayed () ĊĠĠĠĠĠĠĠ Ġconfirm Abort () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcheck Abort Dialog Displayed () Ġ{ ĊĠĠĠĠĠĠĠ Ġdialog . check Displayed ( R . string . setup _ password _ abort _ body ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdismiss Abort Dialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġdialog . press Cancel () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġconfirm Abort () Ġ{ ĊĠĠĠĠĠĠĠ Ġdialog . press Abort () ĊĠĠĠ Ġ} Ċ }