package Ġno . nav . f amil ie . ef . person hen del se . handler Ċ Ċ import Ġio . mock k . every Ċ import Ġio . mock k . just Ċ import Ġio . mock k . mock k Ċ import Ġio . mock k . runs Ċ import Ġio . mock k . slot Ċ import Ġno . nav . f amil ie . ef . person hen del se . client . Opp g ave Client Ċ import Ġno . nav . f amil ie . ef . person hen del se . client . S ak Client Ċ import Ġno . nav . f amil ie . ef . person hen del se . generated . enums . S ivil stand stype Ċ import Ġno . nav . f amil ie . ef . person hen del se . person hen del sem apping . Person hen del se Repository Ċ import Ġno . nav . f amil ie . kon tr ak ter . fel les . op pg ave . Opp g av etype Ċ import Ġno . nav . f amil ie . kon tr ak ter . fel les . op pg ave . Opp rett Opp g ave Request Ċ import Ġno . nav . person . p dl . le es ah . End ring stype Ċ import Ġno . nav . person . p dl . le es ah . Person hen del se Ċ import Ġno . nav . person . p dl . le es ah . s ivil stand . S ivil stand Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġjava . time . LocalDate Ċ import Ġjava . util . UUID Ċ Ċ class ĠS ivil stand Handler Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġs ak Client Ġ= Ġmock k < S ak Client >() ĊĠĠĠ Ġprivate Ġval Ġopp g ave Client Ġ= Ġmock k < Opp g ave Client >() ĊĠĠĠ Ġprivate Ġval Ġperson hen del se Repository Ġ= Ġmock k < Person hen del se Repository >() ĊĠĠĠ Ġprivate Ġval Ġhandler Ġ= ĠS ivil stand Handler () ĊĠĠĠ Ġprivate Ġval Ġservice Ġ= ĠPerson hen del se Service ( listOf ( handler ), Ġs ak Client , Ġopp g ave Client , Ġperson hen del se Repository ) ĊĊĠĠĠ Ġprivate Ġval Ġperson Ident Ġ= Ġ" 1 2 3 4 5 6 1 2 3 4 4 " ĊĠĠĠ Ġprivate Ġval Ġpartner Person Ident Ġ= Ġ" 1 2 3 4 5 6 1 2 3 4 5 " ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Ik ke Ġopp rett Ġopp g ave Ġfor Ġs ivil stand Ġh en del se Ġregist r ert Ġpartner Ġd ers om Ġperson Ġik ke Ġhar Ġl Ã¸ pen de Ġef - sak `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġperson hen del se Ġ= ĠPerson hen del se () ĊĠĠĠĠĠĠĠ Ġperson hen del se . s ivil stand Ġ= ĠS ivil stand ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS ivil stand stype . REGISTR ERT _ PART NER . name , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 2 0 2 1 , Ġ 8 , Ġ 2 6 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpartner Person Ident , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 2 0 2 1 , Ġ 8 , Ġ 2 6 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġperson hen del se . op pl ys ning stype Ġ= ĠPerson hen del se Type . SI V IL STAND . hen del set ype ĊĠĠĠĠĠĠĠ Ġperson hen del se . person id enter Ġ= ĠlistOf ( person Ident ) ĊĠĠĠĠĠĠĠ Ġperson hen del se . end ring stype Ġ= ĠEnd ring stype . OP PRE TT ET ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġs ak Client . har St Ã¸ nad S iste 1 2 M Ã¥ ned er For Person id enter ( set Of ( person Ident )) Ġ} Ġreturns Ġfalse ĊĊĠĠĠĠĠĠĠ Ġval Ġopp g ave Request Slot Ġ= Ġslot < Opp rett Opp g ave Request >() ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġopp g ave Client . op prett Opp g ave ( capture ( op pg ave Request Slot )) Ġ} Ġreturns Ġ 1 2 3 L ĊĊĠĠĠĠĠĠĠ Ġservice . h Ã¥ nd ter Person hen del se ( person hen del se ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( op pg ave Request Slot . is Capt ured ). isFalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Opp rett Ġopp g ave Ġfor Ġs ivil stand Ġh en del se Ġregist r ert Ġpartner Ġd ers om Ġperson Ġhar Ġl Ã¸ pen de Ġef - sak `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġperson hen del se Ġ= ĠPerson hen del se () ĊĠĠĠĠĠĠĠ Ġperson hen del se . s ivil stand Ġ= ĠS ivil stand ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS ivil stand stype . REGISTR ERT _ PART NER . name , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 2 0 2 1 , Ġ 8 , Ġ 2 6 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpartner Person Ident , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 2 0 2 1 , Ġ 8 , Ġ 2 6 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġperson hen del se . op pl ys ning stype Ġ= ĠPerson hen del se Type . SI V IL STAND . hen del set ype ĊĠĠĠĠĠĠĠ Ġperson hen del se . person id enter Ġ= ĠlistOf ( person Ident ) ĊĠĠĠĠĠĠĠ Ġperson hen del se . end ring stype Ġ= ĠEnd ring stype . OP PRE TT ET ĊĠĠĠĠĠĠĠ Ġperson hen del se . hen del se Id Ġ= ĠUUID . randomUUID (). toString () ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġs ak Client . har St Ã¸ nad S iste 1 2 M Ã¥ ned er For Person id enter ( set Of ( person Ident )) Ġ} Ġreturns Ġtrue ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġperson hen del se Repository . lag re Person hen del se ( any (), Ġany (), Ġany ()) Ġ} Ġjust Ġruns ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġperson hen del se Repository . lag re Person hen del se ( any (), Ġany (), Ġany ()) Ġ} Ġjust Ġruns ĊĊĠĠĠĠĠĠĠ Ġval Ġopp g ave Request Slot Ġ= Ġslot < Opp rett Opp g ave Request >() ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġopp g ave Client . op prett Opp g ave ( capture ( op pg ave Request Slot )) Ġ} Ġreturns Ġ 1 2 3 L ĊĊĠĠĠĠĠĠĠ Ġservice . h Ã¥ nd ter Person hen del se ( person hen del se ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( op pg ave Request Slot . captured . op pg av etype ). isEqualTo ( Opp g av etype . V ur der Liv sh en del se ) ĊĠĠĠĠĠĠĠ ĠassertThat ( op pg ave Request Slot . captured . bes k riv else ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo (" Person hen del se : ĠS ivil stand Ġend ret Ġtil Ġ\" Regist r ert Ġpartner \", Ġgy ld ig Ġf ra Ġog Ġmed Ġdat o : Ġ 2 6 . 0 8 . 2 0 2 1 ") ĊĠĠĠĠĠĠĠ ĠassertThat ( op pg ave Request Slot . captured . ident ?. ident ). isEqualTo ( person Ident ) ĊĠĠĠ Ġ} Ċ } Ċ