package Ġn tn u . id att 2 1 0 5 . group . service Ċ Ċ import Ġio . github . ser pro 6 9 . k faker . F aker Ċ import Ġn tn u . id att 2 1 0 5 . factories . Group Factory Ċ import Ġn tn u . id att 2 1 0 5 . group . dto . Create Group Dto Ċ import Ġn tn u . id att 2 1 0 5 . group . model . Group Ċ import Ġn tn u . id att 2 1 0 5 . group . repository . Group Repository Ċ import Ġn tn u . id att 2 1 0 5 . user . model . User Ċ import Ġn tn u . id att 2 1 0 5 . user . service . UserService Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . extension . Extend With Ċ import Ġorg . mockito . Inject Mocks Ċ import Ġorg . mockito . Mock Ċ import Ġorg . mockito . Mockito Ċ import Ġorg . mockito . junit . jupiter . Mockito Extension Ċ import Ġorg . springframework . boot . test . mock . mockito . Spy Bean Ċ import Ġjava . util .* Ċ Ċ @ Extend With ( Mockito Extension :: class ) Ċ class ĠGroup ServiceImpl Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġfaker Ġ= ĠFaker () ĊĊĠĠĠ Ġ@ Mock ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġgroup Repository : ĠGroup Repository ĊĊĠĠĠ Ġ@ Inject Mocks ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġgroup Service : ĠGroup ServiceImpl ĊĊĠĠĠ Ġ@ Mock ĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠuserService : ĠUserService ĊĊĠĠĠ Ġ@ Spy Bean ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġgroup : ĠGroup ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġgroup Ġ= ĠGroup Factory (). ` object ` ĊĠĠĠĠĠĠĠ ĠMockito . len ient (). ` when `( userService . getUser ( group . creator . id , ĠUser :: class . java )). thenReturn ( group . creator ) ĊĠĠĠĠĠĠĠ ĠMockito . len ient (). ` when `( group Repository . findById ( Mockito . any ( UUID :: class . java ))). thenReturn ( Optional . of ( group )) ĊĠĠĠĠĠĠĠ ĠMockito . len ient (). ` when `( group Repository . save ( Mockito . any ( Group :: class . java ))). thenReturn ( group ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġcreate Ġgroup Ġreturns Ġa Ġgroup `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcreate Group Ġ= ĠCreate Group Dto ( group . name ) ĊĠĠĠĠĠĠĠ ĠassertThat ( group Service . create Group ( create Group , Ġgroup . creator . id ). name ). isEqualTo ( create Group . name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġupdate Ġgroup Ġreturns Ġa Ġupdated Ġgroup `() Ġ{ ĊĠĠĠĠĠĠĠ Ġgroup . name Ġ= Ġfaker . app . author () ĊĠĠĠĠĠĠĠ ĠassertThat ( group Service . update Group ( group . id , Ġgroup ). name ). isEqualTo ( group . name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġget Ġgroup Ġreturns Ġa Ġgroup `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( group Service . getGroup ( group . id ). name ). isEqualTo ( group . name ) ĊĠĠĠ Ġ} Ċ } Ċ