package Ġno . nav . f amil ie . ef . iver k set t . info try gd Ċ Ċ 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 . 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 . util . op prett I ver k set t Ċ 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 . St Ã¸ nad Type Ċ import Ġno . nav . f amil ie . kon tr ak ter . ef . info try gd . Opp rett V ed tak H en del se Dto Ċ import Ġno . nav . f amil ie . kon tr ak ter . ef . iver k set t . Per i ode type Ċ import Ġno . nav . f amil ie . kon tr ak ter . fel les . person op pl ys ning . Person Ident Med H istor ikk Ċ import Ġno . nav . f amil ie . pro sess ering . dom ene . Task Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġjava . time . LocalDate Ċ import Ġjava . util . UUID Ċ Ċ internal Ġclass ĠSend F att et V ed tak Til Info try gd Task Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġinfo try gd Feed Client Ġ= Ġmock k < Info try gd Feed Client >( relax ed Ġ= Ġtrue ) ĊĠĠĠ Ġprivate Ġval Ġfam il ie Integr as jon er Client Ġ= Ġmock k < F amil ie Integr as jon er Client >( relax ed Ġ= Ġtrue ) ĊĠĠĠ Ġprivate Ġval Ġ iver k setting Repository Ġ= Ġmock k < I ver k setting Repository >() ĊĊĠĠĠ Ġprivate Ġval Ġtask Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSend F att et V ed tak Til Info try gd Task ( info try gd Feed Client , Ġfam il ie Integr as jon er Client , Ġ iver k setting Repository , Ġmock k ()) ĊĊĠĠĠ Ġprivate Ġval Ġbe handling Id Ġ= ĠUUID . randomUUID () ĊĠĠĠ Ġprivate Ġval Ġ iver k set t Ġ= Ġopp rett I ver k set t ( be handling Id ) ĊĠĠĠ Ġprivate Ġval Ġperson Ident Ġ= Ġ iver k set t . s Ã¸ ker . person Ident ĊĠĠĠ Ġprivate Ġval Ġh istor isk Person Ident Ġ= Ġ" 2 " ĊĠĠĠ Ġprivate Ġval Ġperiod er Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( LocalDate . of ( 2 0 2 1 , Ġ 1 , Ġ 1 ), ĠLocalDate . of ( 2 0 2 1 , Ġ 1 , Ġ 3 1 )), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( LocalDate . of ( 2 0 2 0 , Ġ 1 , Ġ 1 ), ĠLocalDate . of ( 2 0 2 0 , Ġ 1 , Ġ 3 1 )), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( LocalDate . of ( 2 0 2 2 , Ġ 1 , Ġ 1 ), ĠLocalDate . of ( 2 0 2 2 , Ġ 1 , Ġ 3 1 )) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġval Ġid enter Ġ= ĠlistOf ( Person Ident Med H istor ikk ( person Ident , Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPerson Ident Med H istor ikk ( h istor isk Person Ident , Ġtrue )) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġinternal Ġfun Ġ` sk al Ġs ende Ġf att et Ġved tak Ġtil Ġinfo try gd Ġmed Ġf Ã¸ r ste Ġperiod en Ġi Ġan de lene `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġh en del se Slot Ġ= Ġslot < Opp rett V ed tak H en del se Dto >() ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġ iver k setting Repository . h ent ( be handling Id ) Ġ} Ġreturns Ġopp rett I ver k set t Med Til kj ent Yt else () ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġinfo try gd Feed Client . op prett V ed tak H en del se ( capture ( hen del se Slot )) Ġ} Ġjust Ġruns ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġfam il ie Integr as jon er Client . h ent Id enter ( any (), Ġany ()) Ġ} Ġreturns Ġid enter ĊĊĠĠĠĠĠĠĠ Ġtask . do Task ( Task ( Send F att et V ed tak Til Info try gd Task . TYPE , Ġbe handling Id . toString ())) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( hen del se Slot . captured . person Id enter ). contains Exactly In Any Order ( person Ident , Ġh istor isk Person Ident ) ĊĠĠĠĠĠĠĠ ĠassertThat ( hen del se Slot . captured . type ). isEqualTo ( St Ã¸ nad Type . OVER G ANG S ST Ã ĺ N AD ) ĊĠĠĠĠĠĠĠ ĠassertThat ( hen del se Slot . captured . start dat o ). isEqualTo ( LocalDate . of ( 2 0 2 0 , Ġ 1 , Ġ 1 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġopp rett I ver k set t Med Til kj ent Yt else (): ĠI ver k set t Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġved tak Ġ= Ġ iver k set t . ved tak ĊĠĠĠĠĠĠĠ Ġval Ġtil kj ent Yt else Ġ= Ġved tak . til kj ent Yt else ĊĠĠĠĠĠĠĠ Ġval Ġan de ler Til kj ent Yt else Ġ= Ġperiod er . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlag An del Til kj ent Yt else ( 1 , ĠPer i ode type . M Ã ħ N ED , Ġit . first , Ġit . second ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġny Til kj ent Yt else Ġ= Ġtil kj ent Yt else !!. copy ( ande ler Til kj ent Yt else Ġ= Ġan de ler Til kj ent Yt else ) ĊĠĠĠĠĠĠĠ Ġreturn Ġ iver k set t . copy ( ved tak Ġ= Ġved tak . copy ( til kj ent Yt else Ġ= Ġny Til kj ent Yt else )) ĊĠĠĠ Ġ} Ċ }