package Ġno . nav . ar be id sp lass en . import api . ad pul s Ċ Ċ import Ġio . mic ronaut . test . extensions . junit 5 . annotation . Mic ronaut Test Ċ import Ġno . nav . ar be id sp lass en . import api . ad pul s . Ad P uls Ċ import Ġno . nav . ar be id sp lass en . import api . ad pul s . Ad P uls Repository Ċ import Ġno . nav . ar be id sp lass en . import api . ad pul s . P uls EventType Ċ import Ġno . nav . ar be id sp lass en . import api . dao . new Test Provider Ċ import Ġno . nav . ar be id sp lass en . import api . provider . Provider Repository Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . junit . jupiter . api . Assertions . assertNotNull Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġjava . util .* Ċ Ċ @ Mic ronaut Test Ċ class ĠAd P uls Repository Test ( private Ġval Ġrepository : ĠAd P uls Repository , Ġprivate Ġval Ġprovider Repository : ĠProvider Repository ) Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġread And Save () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprovider Ġ= Ġprovider Repository . new Test Provider () ĊĠĠĠĠĠĠĠ Ġval Ġfirst Ġ= Ġrepository . save ( Ad P uls ( provider Id = provider . id !! , Ġuuid Ġ= ĠUUID . randomUUID (). toString (), Ġreference Ġ= ĠUUID . randomUUID (). toString (), Ġtype Ġ= ĠP uls EventType . page views , Ġtotal Ġ= Ġ 1 0 )) ĊĠĠĠĠĠĠĠ ĠassertNotNull ( first . id ) ĊĠĠĠĠĠĠĠ Ġval Ġin Db Ġ= Ġrepository . findById ( first . id !! ). get () ĊĠĠĠĠĠĠĠ ĠassertNotNull ( in Db ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 , Ġin Db . total ) ĊĠĠĠĠĠĠĠ Ġval Ġnew Ġ= Ġin Db . copy ( total Ġ= Ġ 2 0 ) ĊĠĠĠĠĠĠĠ Ġrepository . save ( new ) ĊĠĠĠĠĠĠĠ Ġval Ġtype Uuid Ġ= Ġrepository . findBy Uuid And Type ( first . uuid , Ġfirst . type ) ĊĠĠĠĠĠĠĠ ĠassertNotNull ( type Uuid ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( first . id , Ġtype Uuid !!. id ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 0 , Ġtype Uuid . total ) ĊĠĠĠ Ġ} Ċ } Ċ