package Ġorg . v accine impact . api . database Tests . tests . mode lling Group Repository Ċ Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . assertj . core . api . Assertions . assertThat Thrown By Ċ import Ġorg . junit . Test Ċ import Ġorg . v accine impact . api . app . errors . Database Contents Error Ċ import Ġorg . v accine impact . api . db . direct .* Ċ import Ġorg . v accine impact . api . models . Mode lling Group Ċ import Ġorg . v accine impact . api . models . Mode lling Group Details Ċ import Ġorg . v accine impact . api . models . Research Model Ċ import Ġorg . v accine impact . api . models . Scope Ċ import Ġorg . v accine impact . api . models . permissions . Re ified Role Ċ Ċ class ĠGet Mode lling Group Tests Ġ: ĠMode lling Group Repository Tests () Ċ { ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` no Ġmode lling Ġgroups Ġare Ġreturned Ġif Ġtable Ġis Ġempty `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven AB l ank Database () Ġcheck Ġ{ Ġrepo Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgroups Ġ= Ġrepo . get Mode lling Groups () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( groups ). isEmpty () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġall Ġmode lling Ġgroups `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addGroup (" a ", Ġ" description Ġa ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addGroup (" b ", Ġ" description Ġb ") ĊĠĠĠĠĠĠĠ Ġ} Ġcheck Ġ{ Ġrepo Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgroups Ġ= Ġrepo . get Mode lling Groups () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( groups ). has Same Elements As ( listOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMode lling Group (" a ", Ġ" description Ġa "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMode lling Group (" b ", Ġ" description Ġb ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Mode lling Groups For Scenario Ġonly Ġreturns Ġgroups Ġwith Ġresponsibility Ġfor Ġscenario `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Touch stone Version (" touch stone ", Ġ 1 , Ġadd Touch stone Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Touch stone Version (" touch stone ", Ġ 2 , Ġadd Touch stone Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addGroup (" a ", Ġ" description Ġa ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addGroup (" b ", Ġ" description Ġb ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Scenario Description (" s 1 desc ", Ġ" des x ri ption ", Ġ" d isease 1 ", Ġadd D isease Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Model (" m 1 ", Ġ" a ", Ġ" d isease 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Respons ibility In New Set (" a ", Ġ" touch stone - 1 ", Ġ" s 1 desc ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Respons ibility In New Set (" b ", Ġ" touch stone - 2 ", Ġ" s 1 desc ") ĊĠĠĠĠĠĠĠ Ġ} Ġcheck Ġ{ Ġrepo Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgroups Ġ= Ġrepo . get Mode lling Groups For Scenario (" s 1 desc ", Ġ" touch stone - 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( groups . count ()). isEqualTo ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( groups [ 0 ]. id ). isEqualTo (" a ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` only Ġmost Ġrecent Ġversion Ġof Ġmode lling Ġgroups Ġis Ġreturned `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addGroup (" a 2 ", Ġ" description Ġa Ġversion Ġ 2 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addGroup (" a 1 ", Ġ" description Ġa Ġversion Ġ 1 ", Ġcurrent Ġ= Ġ" a 2 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addGroup (" b ", Ġ" description Ġb ") ĊĠĠĠĠĠĠĠ Ġ} Ġcheck Ġ{ Ġrepo Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgroups Ġ= Ġrepo . get Mode lling Groups () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( groups ). has Same Elements As ( listOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMode lling Group (" a 2 ", Ġ" description Ġa Ġversion Ġ 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMode lling Group (" b ", Ġ" description Ġb ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġmode lling Ġgroup Ġby ĠID `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addGroup (" a ", Ġ" description Ġa ") ĊĠĠĠĠĠĠĠ Ġ} Ġcheck Ġ{ Ġrepo Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgroup Ġ= Ġrepo . get Mode lling Group (" a ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( group ). isEqualTo ( Mode lling Group (" a ", Ġ" description Ġa ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġmode lling Ġgroup Ġby Ġany ĠID Ġin Ġits Ġhistory `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠMode lling Group (" a 2 ", Ġ" description Ġversion Ġ 2 ") ĊĠĠĠĠĠĠĠ Ġgiven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addGroup (" a 2 ", Ġ" description Ġversion Ġ 2 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addGroup (" a 1 ", Ġ" description Ġversion Ġ 1 ", Ġcurrent Ġ= Ġ" a 2 ") ĊĠĠĠĠĠĠĠ Ġ} Ġcheck Ġ{ Ġrepo Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgroup 1 Ġ= Ġrepo . get Mode lling Group (" a 2 ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( group 1 ). isEqualTo ( expected ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgroup 2 Ġ= Ġrepo . get Mode lling Group (" a 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( group 2 ). isEqualTo ( expected ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġmode lling Ġgroups Ġby Ġids `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMode lling Group (" a ", Ġ" description Ġa "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMode lling Group (" b ", Ġ" description Ġb ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġgiven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addGroup (" a ", Ġ" description Ġa ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addGroup (" b ", Ġ" description Ġb ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addGroup (" c ", Ġ" description Ġc ") ĊĠĠĠĠĠĠĠ Ġ} Ġcheck Ġ{ Ġrepo Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( repo . get Mode lling Groups ( array Of (" b "," a ")) ). isEqualTo ( expected ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Ġmode lling Ġgroups Ġby Ġids Ġdoes Ġnot Ġreturn Ġgroups Ġwhich Ġhave Ġbeen Ġreplaced `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMode lling Group (" a ", Ġ" description Ġa ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġgiven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addGroup (" a ", Ġ" description Ġa ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addGroup (" c ", Ġ" description Ġc ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addGroup (" b ", Ġ" description Ġb ", Ġ" c ") ĊĠĠĠĠĠĠĠ Ġ} Ġcheck Ġ{ Ġrepo Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( repo . get Mode lling Groups ( array Of (" b "," a ")) ). isEqualTo ( expected ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġmode lling Ġgroup Ġdetails `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠMode lling Group Details (" new - id ", Ġ" description ", ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResearch Model (" a 2 ", Ġ" description ĠA 2 ", Ġ" citation ĠA 2 ", Ġmode lling Group Ġ= Ġ" new - id "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResearch Model (" b ", Ġ" description ĠB ", Ġ" citation ĠB ", Ġmode lling Group Ġ= Ġ" new - id ") ĊĠĠĠĠĠĠĠ Ġ), Ġempty List ()) ĊĠĠĠĠĠĠĠ Ġgiven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addGroup (" new - id ", Ġ" description ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addGroup (" old - id ", Ġ" old Ġdescription ", Ġcurrent Ġ= Ġ" new - id ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add D isease (" d isease 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add D isease (" d isease 2 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Model (" a 2 ", Ġ" new - id ", Ġ" d isease 1 ", Ġ" description ĠA 2 ", Ġ" citation ĠA 2 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Model (" a 1 ", Ġ" new - id ", Ġ" d isease 1 ", Ġ" description ĠA 1 ", Ġ" citation ĠA 1 ", Ġis Current Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Model (" b ", Ġ" new - id ", Ġ" d isease 2 ", Ġ" description ĠB ", Ġ" citation ĠB ") ĊĠĠĠĠĠĠĠ Ġ} Ġcheck Ġ{ Ġrepo Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( repo . get Mode lling Group Details (" old - id ")). isEqualTo ( expected ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( repo . get Mode lling Group Details (" new - id ")). isEqualTo ( expected ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġusers Ġfor Ġmode lling Ġgroup `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠMode lling Group Details (" new - id ", Ġ" description ", Ġempty List (), ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" user . a ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" user . b " ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġgiven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addGroup (" new - id ", Ġ" description ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addGroup (" old - id ", Ġ" old Ġdescription ", Ġcurrent Ġ= Ġ" new - id ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrole Ġ= ĠRe ified Role (" member ", ĠScope . parse (" mode lling - group : new - id ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add User With Roles (" user . a ", Ġrole ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add User With Roles (" user . b ", Ġrole ) ĊĠĠĠĠĠĠĠ Ġ} Ġcheck Ġ{ Ġrepo Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( repo . get Mode lling Group Details (" old - id ")). isEqualTo ( expected ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( repo . get Mode lling Group Details (" new - id ")). isEqualTo ( expected ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġdise ases Ġfor Ġmode lling Ġgroup `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠgroupId Ġ= Ġ" g 1 " ĊĠĠĠĠĠĠĠ Ġval Ġdisease Id Ġ= Ġ" d 1 " ĊĠĠĠĠĠĠĠ Ġwith Database Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addGroup ( groupId , Ġ" description ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add D isease ( d isease Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Model (" m 1 ", ĠgroupId , Ġdisease Id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith Repo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . get D ise ases For Mode lling Group ( groupId )). contains Exactly ( d isease Id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` does Ġnot Ġget Ġdise ases Ġfor Ġwrong Ġmode lling Ġgroup `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠgroupId Ġ= Ġ" g 1 " ĊĠĠĠĠĠĠĠ Ġval Ġdisease Id Ġ= Ġ" d 1 " ĊĠĠĠĠĠĠĠ Ġwith Database Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addGroup ( groupId , Ġ" description ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addGroup (" bad Id ", Ġ" description ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add D isease ( d isease Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Model (" m 1 ", Ġ" bad Id ", Ġdisease Id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith Repo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . get D ise ases For Mode lling Group ( groupId ). any ()). isFalse () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` does Ġnot Ġget Ġnull Ġdise ases Ġfor Ġmode lling Ġgroup `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠgroupId Ġ= Ġ" g 1 " ĊĠĠĠĠĠĠĠ Ġwith Database Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addGroup ( groupId , Ġ" description ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Model (" m 1 ", ĠgroupId , Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith Repo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . get D ise ases For Mode lling Group ( groupId ). any ()). isFalse () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` does Ġnot Ġget Ġduplicate Ġdise ases `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠgroupId Ġ= Ġ" g 1 " ĊĠĠĠĠĠĠĠ Ġval Ġdisease Id Ġ= Ġ" d 1 " ĊĠĠĠĠĠĠĠ Ġwith Database Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addGroup ( groupId , Ġ" description ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add D isease ( d isease Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Model (" m 1 ", ĠgroupId , Ġdisease Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Model (" m 2 ", ĠgroupId , Ġdisease Id , Ġis Current Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith Repo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . get D ise ases For Mode lling Group ( groupId )). contains Exactly ( d isease Id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` exception Ġis Ġthrown Ġfor Ġnon - existent Ġmode lling Ġgroup ĠID `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven AB l ank Database () Ġcheck Ġ{ Ġrepo Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat Thrown By Ġ{ Ġrepo . get Mode lling Group (" a ") Ġ}. isInstanceOf ( org . v accine impact . api . app . errors . Unknown Object Error :: class . java ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` exception Ġis Ġthrown Ġwhen Ġgetting Ġdetails Ġfor Ġnon - existent Ġmode lling Ġgroup ĠID `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven AB l ank Database () Ġcheck Ġ{ Ġrepo Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat Thrown By Ġ{ Ġrepo . get Mode lling Group Details (" a ") Ġ}. isInstanceOf ( org . v accine impact . api . app . errors . Unknown Object Error :: class . java ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġlatest Ġmodel Ġversion Ġfor Ġmode lling Ġgroup `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠgroupId Ġ= Ġ" g 1 " ĊĠĠĠĠĠĠĠ Ġval Ġdisease Id Ġ= Ġ" d 1 " ĊĠĠĠĠĠĠĠ Ġval Ġversion Id Ġ= Ġwith Database Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addGroup ( groupId , Ġ" description ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add D isease ( d isease Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Model (" m 1 ", ĠgroupId , Ġdisease Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Model Version (" m 1 ", Ġ" v 1 ", ĠsetCurrent Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith Repo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . get Latest Model Version For Group ( groupId , Ġdisease Id )). isEqualTo ( version Id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` throws ĠUnknown Object Error Ġif Ġgroup Ġhas Ġno Ġmodels `() Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval ĠgroupId Ġ= Ġ" g 1 " ĊĠĠĠĠĠĠĠ Ġval Ġdisease Id Ġ= Ġ" d 1 " ĊĠĠĠĠĠĠĠ Ġwith Database Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addGroup ( groupId , Ġ" description ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add D isease ( d isease Id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith Repo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat Thrown By Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . get Latest Model Version For Group ( groupId , Ġdisease Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. isInstanceOf ( Database Contents Error :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. has Message Containing (" Mode lling Ġgroup Ġ$ groupId Ġdoes Ġnot Ġhave Ġany Ġmodels / model Ġversions Ġin Ġthe Ġdatabase ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }