package Ġcom . vmware . spring . ge ode . show case . account . service Ċ Ċ import Ġcom . vmware . spring . ge ode . show case . account . domain . account . Account Ċ import Ġcom . vmware . spring . ge ode . show case . account . repository . Account Repository Ċ import Ġny la . solutions . core . patterns . cre ational . generator . Java Bean Generator Creator Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . junit . jupiter . api . Assertions . assertNull Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . mockito . kotlin . any Ċ import Ġorg . mockito . kotlin . do Return Ċ import Ġorg . mockito . kotlin . mock Ċ import Ġorg . mockito . kotlin . verify Ċ import Ġjava . util .* Ċ Ċ internal Ġclass ĠAccount DataService Test { ĊĠĠĠ Ġprivate Ġval Ġaccount : ĠAccount Ġ= ĠJava Bean Generator Creator . of ( Account :: class . java ). create () ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġaccount Repository : ĠAccount Repository ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġsubject Ġ: ĠAccount DataService ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġinternal Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġaccount Repository Ġ= Ġmock < Account Repository > (){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon { Ġfind ById ( any < String >()) } Ġdo Return ĠOptional . of ( account ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsubject Ġ= ĠAccount DataService ( account Repository ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġinternal Ġfun Ġsave () Ġ{ ĊĠĠĠĠĠĠĠ Ġsubject . save ( account ) ĊĠĠĠĠĠĠĠ Ġverify ( account Repository ). save ( any < Account >()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġinternal Ġfun Ġfind Account () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( account , subject . findBy AccountId ( account . id )); ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġinternal Ġfun Ġfind Account NotFound _ When Empty () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġaccount Repository Ġ= Ġmock < Account Repository > (){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon { Ġfind ById ( any < String >()) } Ġdo Return ĠOptional . empty () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsubject Ġ= ĠAccount DataService ( account Repository ) ĊĊĠĠĠĠĠĠĠ ĠassertNull ( subject . findBy AccountId (" does NotExist ")); ĊĊĠĠĠ Ġ} Ċ }