package Ġno . nav . su . se . bak over . domain . ek ster ne iver k settings st eg Ċ Ċ import Ġarrow . core . Either Ċ import Ġarrow . core . left Ċ import Ġarrow . core . right Ċ import Ġio . kot est . matchers . shouldBe Ċ import Ġno . nav . su . se . bak over . domain . bre v . B rev best illing Id Ċ import Ġno . nav . su . se . bak over . domain . ek ster ne iver k settings st eg . Jo urn alf Ã¸ ring Og B rev dist ri bus jon . Ik ke Jo urn alf Ã¸ rt E ller Dist ribu ert Ċ import Ġno . nav . su . se . bak over . domain . ek ster ne iver k settings st eg . Jo urn alf Ã¸ ring Og B rev dist ri bus jon . Jo urn alf Ã¸ rt Ċ import Ġno . nav . su . se . bak over . domain . ek ster ne iver k settings st eg . Jo urn alf Ã¸ ring Og B rev dist ri bus jon . Jo urn alf Ã¸ rt Og Dist ribu ert B rev Ċ import Ġno . nav . su . se . bak over . domain . ek ster ne iver k settings st eg . K un ne Ik ke Jo urn alf Ã¸ re Og Dist ribu ere B rev . K un ne Ik ke Dist ribu ere B rev Ċ import Ġno . nav . su . se . bak over . domain . ek ster ne iver k settings st eg . K un ne Ik ke Jo urn alf Ã¸ re Og Dist ribu ere B rev . K un ne Ik ke Jo urn alf Ã¸ re . All ere de Jo urn alf Ã¸ rt Ċ import Ġno . nav . su . se . bak over . domain . ek ster ne iver k settings st eg . K un ne Ik ke Jo urn alf Ã¸ re Og Dist ribu ere B rev . K un ne Ik ke Jo urn alf Ã¸ re . Fe il V ed Jo urn alf Ã¸ ring Ċ import Ġno . nav . su . se . bak over . domain . journal . Journal post Id Ċ import Ġorg . junit . jupiter . api . Nested Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . mockito . kotlin . mock Ċ import Ġorg . mockito . kotlin . verify No Interactions Ċ import Ġorg . mockito . kotlin . verify No More Interactions Ċ Ċ internal Ġclass ĠJo urn alf Ã¸ ring Og B rev dist ri bus jon Test Ġ{ ĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġinner Ġclass ĠJo urn alf Ã¸ ring Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġskal Ik ke B li K alt V ed Jo urn alf Ã¸ ring Ġ= Ġmock < Either < Fe il V ed Jo urn alf Ã¸ ring , ĠJournal post Id >>() ĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` jo urn alf Ã¸ rer Ġv enter ĠpÃ¥ Ġkv itter ing Ġog Ġopp dater er Ġstatus `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠI k ke Jo urn alf Ã¸ rt E ller Dist ribu ert . jo urn alf Ã¸ r Ġ{ Ġok Jo urn alf Ã¸ ring () Ġ} ĠshouldBe ĠJo urn alf Ã¸ rt ( journal post Id ). right () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` s var er Ġmed Ġfe il Ġd ers om Ġjo urn alf Ã¸ ring Ġfe iler `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠI k ke Jo urn alf Ã¸ rt E ller Dist ribu ert . jo urn alf Ã¸ r Ġ{ Ġerror Jo urn alf Ã¸ ring () Ġ} ĠshouldBe ĠFe il V ed Jo urn alf Ã¸ ring . left () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` s var er Ġmed Ġfe il Ġd ers om Ġman Ġfor s Ã¸ ker ĠÃ¥ Ġjo urn alf Ã¸ re Ġen Ġall ere de Ġjo urn alf Ã¸ rt `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJo urn alf Ã¸ rt ( journal post Id ). jo urn alf Ã¸ r Ġ{ Ġskal Ik ke B li K alt V ed Jo urn alf Ã¸ ring Ġ} ĠshouldBe ĠAll ere de Jo urn alf Ã¸ rt ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjournal post Id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). left () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify No More Interactions ( sk al Ik ke B li K alt V ed Jo urn alf Ã¸ ring ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` s var er Ġmed Ġfe il Ġd ers om Ġman Ġfor s Ã¸ ker ĠÃ¥ Ġjo urn alf Ã¸ re Ġen Ġall ere de Ġdistribu ert Ġog Ġjo urn alf Ã¸ rt `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJo urn alf Ã¸ rt Og Dist ribu ert B rev ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjournal post Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġb rev best illing Id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). jo urn alf Ã¸ r Ġ{ Ġskal Ik ke B li K alt V ed Jo urn alf Ã¸ ring Ġ} ĠshouldBe ĠAll ere de Jo urn alf Ã¸ rt ( journal post Id ). left () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify No More Interactions ( sk al Ik ke B li K alt V ed Jo urn alf Ã¸ ring ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġinner Ġclass ĠB rev Dist ri bus jon Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġskal Ik ke B li K alt V ed B rev Dist ri bus jon Ġ= Ġmock < Either < K un ne Ik ke Dist ribu ere B rev . Fe il V ed Dist ribu ering Av B rev , ĠB rev best illing Id >>() ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġb rev Dist ri bus j ons fe il ( id : ĠJournal post Id ) Ġ= ĠK un ne Ik ke Dist ribu ere B rev . Fe il V ed Dist ribu ering Av B rev ( id ). left () ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` sk al Ġik ke Ġkun ne Ġdistribu era Ġb rev Ġn Ã¥r Ġvi Ġik ke Ġhar Ġjo urn alf Ã¸ rt `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠI k ke Jo urn alf Ã¸ rt E ller Dist ribu ert . dist ribu er B rev Ġ{ Ġskal Ik ke B li K alt V ed B rev Dist ri bus jon Ġ} ĠshouldBe ĠK un ne Ik ke Dist ribu ere B rev . M Ã¥ Jo urn alf Ã¸ res F Ã¸ rst . left () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify No Interactions ( sk al Ik ke B li K alt V ed B rev Dist ri bus jon ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` dist ribu er er Ġb rev Ġog Ġopp dater er Ġstatus Ġfor Ġjo urn alf Ã¸ rt `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJo urn alf Ã¸ rt ( journal post Id ). dist ribu er B rev Ġ{ Ġid Ġ-> Ġok B rev Dist ri bus jon ( id ) Ġ} ĠshouldBe ĠJo urn alf Ã¸ rt Og Dist ribu ert B rev ( journal post Id , Ġb rev best illing Id ). right () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` sk al Ġik ke Ġkun ne Ġdistribu era Ġb rev Ġn Ã¥r Ġvi Ġall ere de Ġhar Ġdistribu ert `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJo urn alf Ã¸ rt Og Dist ribu ert B rev ( journal post Id , Ġb rev best illing Id ). dist ribu er B rev Ġ{ Ġskal Ik ke B li K alt V ed B rev Dist ri bus jon Ġ} ĠshouldBe ĠK un ne Ik ke Dist ribu ere B rev . All ere de Dist ribu ert B rev ( journal post Id ). left () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` s var er Ġmed Ġfe il Ġh vis Ġdistribu ering Ġfe iler `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJo urn alf Ã¸ rt ( journal post Id ). dist ribu er B rev Ġ{ Ġid Ġ-> Ġb rev Dist ri bus j ons fe il ( id ) Ġ} ĠshouldBe ĠK un ne Ik ke Dist ribu ere B rev . Fe il V ed Dist ribu ering Av B rev ( journal post Id ). left () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġjournal post Id Ġ= ĠJournal post Id (" jp ") ĊĠĠĠ Ġprivate Ġval Ġb rev best illing Id Ġ= ĠB rev best illing Id (" bid ") ĊĊĠĠĠ Ġprivate Ġfun Ġok Jo urn alf Ã¸ ring () Ġ= Ġjournal post Id . right () ĊĠĠĠ Ġprivate Ġfun Ġok B rev Dist ri bus jon (@ Suppress (" UNUSED _ PARAMETER ") Ġjournal post Id : ĠJournal post Id ): ĠEither < Nothing , ĠB rev best illing Id > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġb rev best illing Id . right () ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġfun Ġerror Jo urn alf Ã¸ ring () Ġ= ĠFe il V ed Jo urn alf Ã¸ ring . left () Ċ } Ċ