package Ġno . nav . f amil ie . ef . iver k set t . op pg ave Ċ Ċ import Ġio . mock k . every Ċ import Ġio . mock k . mock k Ċ import Ġio . mock k . mock k Object Ċ import Ġio . mock k . slot Ċ import Ġio . mock k . verify Ċ import Ġno . nav . f amil ie . ef . iver k set t . fel les . F amil ie Integr as jon er Client Ċ import Ġno . nav . f amil ie . ef . iver k set t . iver k setting . I ver k setting Repository Ċ import Ġno . nav . f amil ie . ef . iver k set t . iver k setting . dom ene . I ver k set t Ċ import Ġno . nav . f amil ie . ef . iver k set t . iver k setting . dom ene . V ed tak sp eri ode Ċ import Ġno . nav . f amil ie . ef . iver k set t . Ã¸ k onom i . lag An del Til kj ent Yt else Ċ import Ġno . nav . f amil ie . kon tr ak ter . ef . fel les . Be handling Type Ċ import Ġno . nav . f amil ie . kon tr ak ter . ef . fel les . V ed t aks result at Ċ import Ġno . nav . f amil ie . kon tr ak ter . ef . iver k set t . A ktiv itet Type Ċ import Ġno . nav . f amil ie . kon tr ak ter . ef . iver k set t . V ed tak sp eri ode Type Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġjava . time . LocalDate Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . util . UUID Ċ Ċ internal Ġclass ĠO pp g ave Service Test Ġ{ ĊĊĠĠĠ Ġval Ġ iver k set t Repository Ġ= Ġmock k < I ver k setting Repository >() ĊĠĠĠ Ġval Ġfam il ie Integr as jon er Client Ġ= Ġmock k < F amil ie Integr as jon er Client >() ĊĠĠĠ Ġval Ġopp g ave Client Ġ= Ġmock k < Opp g ave Client >() ĊĠĠĠ Ġval Ġopp g ave Service Ġ= ĠO pp g ave Service ( op pg ave Client , Ġfam il ie Integr as jon er Client , Ġ iver k set t Repository ) ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġinternal Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ Ġmock k Object ( Opp g ave Util ) ĊĠĠĠĠĠĠĠ Ġmock k Object ( Opp f Ã¸ lg ings op pg ave B es k riv else ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġfam il ie Integr as jon er Client . h ent Be hand len de En het For Opp f Ã¸ l ging ( any ()) Ġ} Ġreturns Ġmock k () ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġopp g ave Client . op prett Opp g ave ( any ()) Ġ} Ġreturns Ġ 0 L ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĠO pp f Ã¸ lg ings op pg ave B es k riv else . bes k riv else Rev ur der ing Opp h Ã¸ rt ( any ()) Ġ} Ġreturns Ġ"" ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĠO pp f Ã¸ lg ings op pg ave B es k riv else . bes k riv else Rev ur der ing In nv il get ( any (), Ġany ()) Ġ} Ġreturns Ġ"" ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĠO pp f Ã¸ lg ings op pg ave B es k riv else . bes k riv else F Ã¸ rst eg ang s be handling Av sl Ã¥ tt ( any ()) Ġ} Ġreturns Ġ"" ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĠO pp f Ã¸ lg ings op pg ave B es k riv else . bes k riv else F Ã¸ rst eg ang s be handling In nv il get ( any (), Ġany ()) Ġ} Ġreturns Ġ"" ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĠO pp g ave Util . op prett V ur der H env en del se Opp g ave Request ( any (), Ġany (), Ġany ()) Ġ} Ġreturns Ġmock k () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġinternal Ġfun Ġ` in nv il get Ġf Ã¸ rst eg ang s be handling , Ġfor vent Ġskal Opp ret te Ġtrue `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ iver k set t Ġ= Ġmock k < I ver k set t >() ĊĠĠĠĠĠĠĠ Ġsetup I ver k set t Mock ( iver k set t , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUUID . randomUUID (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBe handling Type . F Ã ĺ RST EG ANG S BE HAND LING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠV ed t aks result at . IN NV IL GET , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List ()) ĊĠĠĠĠĠĠĠ ĠassertThat ( op pg ave Service . sk al Opp ret te V ur der H en del se Opp g ave ( iver k set t )). isTrue () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġinternal Ġfun Ġ` rev ur der ing Ġopp h Ã¸ rt , Ġfor vent Ġskal Opp ret te Ġtrue `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ iver k set t Ġ= Ġmock k < I ver k set t >() ĊĠĠĠĠĠĠĠ Ġsetup I ver k set t Mock ( iver k set t , ĠUUID . randomUUID (), ĠBe handling Type . REV UR DER ING , ĠV ed t aks result at . OP PH Ã ĺ RT , Ġempty List ()) ĊĠĠĠĠĠĠĠ ĠassertThat ( op pg ave Service . sk al Opp ret te V ur der H en del se Opp g ave ( iver k set t )). isTrue () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġinternal Ġfun Ġ` rev ur der ing Ġav sl Ã¥ tt , Ġfor vent Ġskal Opp ret te Ġfalse `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ iver k set t Ġ= Ġmock k < I ver k set t >() ĊĠĠĠĠĠĠĠ Ġsetup I ver k set t Mock ( iver k set t , ĠUUID . randomUUID (), ĠBe handling Type . REV UR DER ING , ĠV ed t aks result at . AV SL Ã ħ TT , Ġempty List ()) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġ iver k set t Repository . h ent ( any ()) Ġ} Ġreturns Ġ iver k set t ĊĠĠĠĠĠĠĠ ĠassertThat ( op pg ave Service . sk al Opp ret te V ur der H en del se Opp g ave ( iver k set t )). isFalse () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġinternal Ġfun Ġ` rev ur der ing Ġin nv il get Ġmed Ġkun Ġaktiv itet send ring , Ġfor vent Ġskal Opp ret te Ġtrue `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ iver k set t Ġ= Ġmock k < I ver k set t >() ĊĠĠĠĠĠĠĠ Ġval Ġfor ri ge Be handling I ver k set t Ġ= Ġmock k < I ver k set t >() ĊĠĠĠĠĠĠĠ Ġsetup I ver k set t Mock ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ iver k set t , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUUID . randomUUID (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBe handling Type . REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠV ed t aks result at . IN NV IL GET , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ved t aks Per i ode ( aktiv itet Ġ= ĠA ktiv itet Type . F ORS Ã ĺ R GER _ I _ AR BE ID )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġsetup I ver k set t Mock ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor ri ge Be handling I ver k set t , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUUID . randomUUID (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBe handling Type . REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠV ed t aks result at . IN NV IL GET , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ved t aks Per i ode ( aktiv itet Ġ= ĠA ktiv itet Type . IK KE _ AK TI V IT ET SP LIK T )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġ iver k set t Repository . h ent ( any ()) Ġ} Ġreturns Ġfor ri ge Be handling I ver k set t ĊĠĠĠĠĠĠĠ ĠassertThat ( op pg ave Service . sk al Opp ret te V ur der H en del se Opp g ave ( iver k set t )). isTrue () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġinternal Ġfun Ġ` rev ur der ing Ġin nv il get , Ġmen Ġav sl Ã¥ tt Ġf - be handling , Ġfor vent Ġskal Opp ret te Ġtrue `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ iver k set t Ġ= Ġmock k < I ver k set t >() ĊĊĠĠĠĠĠĠĠ Ġsetup I ver k set t Mock ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ iver k set t , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBe handling Type . REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠV ed t aks result at . IN NV IL GET , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ved t aks Per i ode ( aktiv itet Ġ= ĠA ktiv itet Type . IK KE _ AK TI V IT ET SP LIK T )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġ iver k set t Repository . h ent ( any ()) Ġ} Ġreturns Ġ iver k set t ĊĠĠĠĠĠĠĠ ĠassertThat ( op pg ave Service . sk al Opp ret te V ur der H en del se Opp g ave ( iver k set t )). isTrue () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġinternal Ġfun Ġ` rev ur der ing Ġin nv il get , Ġmen Ġav sl Ã¥ tt Ġf - be handling , Ġfor vent Ġk all Ġtil Ġbes k riv else F Ã¸ rst eg ang s be handling In nv il get `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ iver k set t Ġ= Ġmock k < I ver k set t >() ĊĊĠĠĠĠĠĠĠ Ġsetup I ver k set t Mock ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ iver k set t , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBe handling Type . REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠV ed t aks result at . IN NV IL GET , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ved t aks Per i ode ( aktiv itet Ġ= ĠA ktiv itet Type . IK KE _ AK TI V IT ET SP LIK T )) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġopp g ave Service . op prett V ur der H en del se Opp g ave ( iver k set t ) ĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĠO pp f Ã¸ lg ings op pg ave B es k riv else . bes k riv else F Ã¸ rst eg ang s be handling In nv il get ( any (), Ġany ()) Ġ} ĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 0 ) Ġ{ ĠO pp f Ã¸ lg ings op pg ave B es k riv else . bes k riv else Rev ur der ing In nv il get ( any (), Ġany ()) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġinternal Ġfun Ġ` rev ur der ing Ġin nv il get Ġmed Ġaktiv itet send ring Ġog Ġper i ode end ring , Ġfor vent Ġskal Opp ret te Ġtrue `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ iver k set t Ġ= Ġmock k < I ver k set t >() ĊĠĠĠĠĠĠĠ Ġval Ġfor ri ge Be handling I ver k set t Ġ= Ġmock k < I ver k set t >() ĊĠĠĠĠĠĠĠ Ġsetup I ver k set t Mock ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ iver k set t , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUUID . randomUUID (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBe handling Type . REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠV ed t aks result at . IN NV IL GET , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ved t aks Per i ode ( aktiv itet Ġ= ĠA ktiv itet Type . F ORS Ã ĺ R GER _ I _ AR BE ID )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġsetup I ver k set t Mock ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor ri ge Be handling I ver k set t , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUUID . randomUUID (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBe handling Type . REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠV ed t aks result at . IN NV IL GET , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġved t aks Per i ode ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaktiv itet Ġ= ĠA ktiv itet Type . IK KE _ AK TI V IT ET SP LIK T , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf ra Og Med Ġ= ĠLocalDate . now (). plus Months ( 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtil Og Med Ġ= ĠLocalDate . now (). plus Months ( 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġfor ri ge Be handling Id Ġ= Ġ iver k set t . be handling . for ri ge Be handling Id !! ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġ iver k set t Repository . h ent ( for ri ge Be handling Id ) Ġ} Ġreturns Ġfor ri ge Be handling I ver k set t ĊĠĠĠĠĠĠĠ ĠassertThat ( op pg ave Service . sk al Opp ret te V ur der H en del se Opp g ave ( iver k set t )). isTrue () ĊĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 1 ) Ġ{ Ġ iver k set t Repository . h ent ( for ri ge Be handling Id ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġinternal Ġfun Ġ` rev ur der ing Ġin nv il get Ġmed Ġkun Ġper i ode end ring , Ġfor vent Ġskal Opp ret te Ġtrue `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ iver k set t Ġ= Ġmock k < I ver k set t >() ĊĠĠĠĠĠĠĠ Ġval Ġfor ri ge Be handling I ver k set t Ġ= Ġmock k < I ver k set t >() ĊĠĠĠĠĠĠĠ Ġsetup I ver k set t Mock ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ iver k set t , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUUID . randomUUID (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBe handling Type . REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠV ed t aks result at . IN NV IL GET , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ved t aks Per i ode ( aktiv itet Ġ= ĠA ktiv itet Type . F ORS Ã ĺ R GER _ I _ AR BE ID )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġsetup I ver k set t Mock ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor ri ge Be handling I ver k set t , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUUID . randomUUID (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBe handling Type . REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠV ed t aks result at . IN NV IL GET , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġved t aks Per i ode ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaktiv itet Ġ= ĠA ktiv itet Type . F ORS Ã ĺ R GER _ I _ AR BE ID , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf ra Og Med Ġ= ĠLocalDate . now (). plus Months ( 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtil Og Med Ġ= ĠLocalDate . now (). plus Months ( 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġ iver k set t Repository . h ent ( any ()) Ġ} Ġreturns Ġfor ri ge Be handling I ver k set t ĊĠĠĠĠĠĠĠ ĠassertThat ( op pg ave Service . sk al Opp ret te V ur der H en del se Opp g ave ( iver k set t )). isTrue () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġinternal Ġfun Ġ` rev ur der ing Ġin nv il get Ġmed Ġkun Ġend ring Ġi Ġf om Ġdat o , Ġfor vent Ġskal Opp ret te Ġfalse `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ iver k set t Ġ= Ġmock k < I ver k set t >() ĊĠĠĠĠĠĠĠ Ġval Ġfor ri ge Be handling I ver k set t Ġ= Ġmock k < I ver k set t >() ĊĠĠĠĠĠĠĠ Ġsetup I ver k set t Mock ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ iver k set t , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUUID . randomUUID (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBe handling Type . REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠV ed t aks result at . IN NV IL GET , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ved t aks Per i ode ( aktiv itet Ġ= ĠA ktiv itet Type . F ORS Ã ĺ R GER _ I _ AR BE ID )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġsetup I ver k set t Mock ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor ri ge Be handling I ver k set t , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUUID . randomUUID (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBe handling Type . REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠV ed t aks result at . IN NV IL GET , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġved t aks Per i ode ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaktiv itet Ġ= ĠA ktiv itet Type . F ORS Ã ĺ R GER _ I _ AR BE ID , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf ra Og Med Ġ= ĠLocalDate . now (). plus Months ( 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġ iver k set t Repository . h ent ( any ()) Ġ} Ġreturns Ġfor ri ge Be handling I ver k set t ĊĠĠĠĠĠĠĠ ĠassertThat ( op pg ave Service . sk al Opp ret te V ur der H en del se Opp g ave ( iver k set t )). isFalse () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġinternal Ġfun Ġ` in nv il get Ġf Ã¸ rst eg ang s be handling , Ġfor vent Ġk all Ġtil Ġbes k riv else F Ã¸ rst eg ang s be handling In nv il get `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ iver k set t Ġ= Ġmock k < I ver k set t >() ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĠO pp g ave Util . op prett V ur der H env en del se Opp g ave Request ( any (), Ġany (), Ġany ()) Ġ} Ġreturns Ġmock k () ĊĠĠĠĠĠĠĠ Ġsetup I ver k set t Mock ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ iver k set t , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUUID . randomUUID (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBe handling Type . F Ã ĺ RST EG ANG S BE HAND LING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠV ed t aks result at . IN NV IL GET , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ved t aks Per i ode ( aktiv itet Ġ= ĠA ktiv itet Type . F ORS Ã ĺ R GER _ I _ AR BE ID )) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġopp g ave Service . op prett V ur der H en del se Opp g ave ( iver k set t ) ĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĠO pp f Ã¸ lg ings op pg ave B es k riv else . bes k riv else F Ã¸ rst eg ang s be handling In nv il get ( any (), Ġany ()) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġinternal Ġfun Ġ` av sl Ã¥ tt Ġf Ã¸ rst eg ang s be handling , Ġfor vent Ġk all Ġtil Ġbes k riv else F Ã¸ rst eg ang s be handling Av sl Ã¥ tt `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ iver k set t Ġ= Ġmock k < I ver k set t >() ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĠO pp g ave Util . op prett V ur der H env en del se Opp g ave Request ( any (), Ġany (), Ġany ()) Ġ} Ġreturns Ġmock k () ĊĠĠĠĠĠĠĠ Ġsetup I ver k set t Mock ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ iver k set t , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUUID . randomUUID (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBe handling Type . F Ã ĺ RST EG ANG S BE HAND LING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠV ed t aks result at . AV SL Ã ħ TT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ved t aks Per i ode ( aktiv itet Ġ= ĠA ktiv itet Type . F ORS Ã ĺ R GER _ I _ AR BE ID )) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġopp g ave Service . op prett V ur der H en del se Opp g ave ( iver k set t ) ĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĠO pp f Ã¸ lg ings op pg ave B es k riv else . bes k riv else F Ã¸ rst eg ang s be handling Av sl Ã¥ tt ( any ()) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġinternal Ġfun Ġ` in nv il get Ġrev ur der ing , Ġfor vent Ġk all Ġtil Ġbes k riv else Rev ur der ing In nv il get `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ iver k set t Ġ= Ġmock k < I ver k set t >() ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĠO pp g ave Util . op prett V ur der H env en del se Opp g ave Request ( any (), Ġany (), Ġany ()) Ġ} Ġreturns Ġmock k () ĊĠĠĠĠĠĠĠ Ġsetup I ver k set t Mock ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ iver k set t , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUUID . randomUUID (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBe handling Type . REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠV ed t aks result at . IN NV IL GET , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ved t aks Per i ode ( aktiv itet Ġ= ĠA ktiv itet Type . F ORS Ã ĺ R GER _ I _ AR BE ID )) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġopp g ave Service . op prett V ur der H en del se Opp g ave ( iver k set t ) ĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĠO pp f Ã¸ lg ings op pg ave B es k riv else . bes k riv else Rev ur der ing In nv il get ( any (), Ġany ()) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġinternal Ġfun Ġ` op ph Ã¸ rt Ġrev ur der ing , Ġfor vent Ġk all Ġtil Ġbes k riv else Rev ur der ing Opp h Ã¸ rt `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ iver k set t Ġ= Ġmock k < I ver k set t >() ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĠO pp g ave Util . op prett V ur der H env en del se Opp g ave Request ( any (), Ġany (), Ġany ()) Ġ} Ġreturns Ġmock k () ĊĠĠĠĠĠĠĠ Ġsetup I ver k set t Mock ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ iver k set t , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUUID . randomUUID (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBe handling Type . REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠV ed t aks result at . OP PH Ã ĺ RT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ved t aks Per i ode ( aktiv itet Ġ= ĠA ktiv itet Type . F ORS Ã ĺ R GER _ I _ AR BE ID )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġsetup An de ler ( iver k set t , ĠlistOf ( LocalDate . now ())) ĊĊĠĠĠĠĠĠĠ Ġopp g ave Service . op prett V ur der H en del se Opp g ave ( iver k set t ) ĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĠO pp f Ã¸ lg ings op pg ave B es k riv else . bes k riv else Rev ur der ing Opp h Ã¸ rt ( any ()) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġinternal Ġfun Ġ` rev ur der ing Ġopp h Ã¸ r , Ġfor vent Ġat Ġan del Ġmed Ġm aks Ġtom Ġdat o Ġb lir Ġsend t Ġsom Ġarg Ġtil Ġbes k riv else `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ iver k set t Ġ= Ġmock k < I ver k set t >() ĊĠĠĠĠĠĠĠ Ġval Ġopp h Ã¸ r sd ato Ġ= Ġslot < LocalDate >() ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĠO pp g ave Util . op prett V ur der H env en del se Opp g ave Request ( any (), Ġany (), Ġany ()) Ġ} Ġreturns Ġmock k () ĊĠĠĠĠĠĠĠ Ġsetup I ver k set t Mock ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ iver k set t , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUUID . randomUUID (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBe handling Type . REV UR DER ING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠV ed t aks result at . OP PH Ã ĺ RT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ved t aks Per i ode ( aktiv itet Ġ= ĠA ktiv itet Type . F ORS Ã ĺ R GER _ I _ AR BE ID )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġsetup An de ler ( iver k set t , ĠlistOf ( LocalDate . now (). minus Days ( 1 ), ĠLocalDate . now (), ĠLocalDate . now (). minus Months ( 1 ))) ĊĊĠĠĠĠĠĠĠ Ġopp g ave Service . op prett V ur der H en del se Opp g ave ( iver k set t ) ĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĠO pp f Ã¸ lg ings op pg ave B es k riv else . bes k riv else Rev ur der ing Opp h Ã¸ rt ( capture ( op ph Ã¸ r sd ato )) Ġ} ĊĠĠĠĠĠĠĠ ĠassertThat ( op ph Ã¸ r sd ato . captured ). isEqualTo ( LocalDate . now ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetup I ver k set t Mock ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ iver k set t Mock : ĠI ver k set t , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ri ge Be handling Id : ĠUUID ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbe handling Type : ĠBe handling Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġved t aks result at : ĠV ed t aks result at , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġved tak sper iod er : ĠList < V ed tak sp eri ode > ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġ iver k set t Mock . be handling . for ri ge Be handling Id Ġ} Ġreturns Ġfor ri ge Be handling Id ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġ iver k set t Mock . be handling . be handling Id Ġ} Ġreturns ĠUUID . randomUUID () ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġ iver k set t Mock . be handling . be handling Type Ġ} Ġreturns Ġbe handling Type ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġ iver k set t Mock . ved tak . ved t aks result at Ġ} Ġreturns Ġved t aks result at ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġ iver k set t Mock . ved tak . ved tak sper iod er Ġ} Ġreturns Ġved tak sper iod er ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġ iver k set t Mock . s Ã¸ ker . person Ident Ġ} Ġreturns Ġ" 1 2 3 4 5 6 7 8 9 1 0 " ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġ iver k set t Mock . ved tak . ved tak st id sp unkt Ġ} Ġreturns ĠLocalDateTime . MIN ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetup An de ler ( iver k set t Mock : ĠI ver k set t , Ġtil Og Med D ato er : ĠList < LocalDate >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġan de ler Ġ= Ġtil Og Med D ato er . map Ġ{ Ġlag An del Til kj ent Yt else ( bel Ã¸ p Ġ= Ġ 0 , Ġf ra Og Med Ġ= Ġit . minus Days ( 1 ), Ġtil Og Med Ġ= Ġit ) Ġ} ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġ iver k set t Mock . ved tak . til kj ent Yt else !!. ande ler Til kj ent Yt else Ġ} Ġreturns Ġan de ler ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġved t aks Per i ode ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaktiv itet : ĠA ktiv itet Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġf ra Og Med : ĠLocalDate Ġ= ĠLocalDate . now (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtil Og Med : ĠLocalDate Ġ= ĠLocalDate . now () ĊĠĠĠ Ġ): ĠV ed tak sp eri ode Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠV ed tak sp eri ode ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf ra Og Med Ġ= Ġf ra Og Med , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtil Og Med Ġ= Ġtil Og Med , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaktiv itet Ġ= Ġaktiv itet , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġper i ode Type Ġ= ĠV ed tak sp eri ode Type . HO VED PER IO DE ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }