package Ġru . am ai . high load . social . repository . impl Ċ Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . jupiter . api . DisplayName Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . params . Parameterized Test Ċ import Ġorg . junit . jupiter . params . provider . Arguments . of Ċ import Ġorg . junit . jupiter . params . provider . Method Source Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . boot . test . autoconfigure . data . jdbc . Data Jdbc Test Ċ import Ġorg . springframework . boot . test . autoconfigure . jdbc . Auto Configure Test Database Ċ import Ġorg . springframework . context . annotation . Import Ċ import Ġorg . springframework . test . context . Active Profiles Ċ import Ġorg . springframework . transaction . annotation . Transactional Ċ import Ġru . am ai . high load . social . User Personal Details Data . QA Ċ import Ġru . am ai . high load . social . User Personal Details Data . Test Ċ import Ġru . am ai . high load . social . domain . City Ċ import Ġru . am ai . high load . social . domain . Gender Ċ import Ġru . am ai . high load . social . domain . User Personal Details Ċ import Ġru . am ai . high load . social . repository . User Personal Details Repository Ċ import Ġjava . time . LocalDate Ċ Ċ @ Data Jdbc Test Ċ @ Transactional Ċ @ Import ( User Personal Details Jdbc Repository :: class ) Ċ @ Active Profiles (" test ") Ċ @ Auto Configure Test Database ( replace Ġ= ĠAuto Configure Test Database . Replace . NONE ) Ċ internal Ġclass ĠUser Personal Details Jdbc Repository Test Ġ{ ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġuser Personal Details Repository : ĠUser Personal Details Repository ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠfindBy UserId Exists Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠuserId Ġ= Ġ 1 L ĊĠĠĠĠĠĠĠ Ġval Ġuser Personal Details Ġ= Ġuser Personal Details Repository . findBy UserId ( userId ) ĊĊĠĠĠĠĠĠĠ Ġwith ( user Personal Details ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( this ). isNotNull () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( this !!. id ). ` as ` (" id "). isNotNull () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( userId ). ` as ` (" userId "). isEqualTo ( userId ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( firstName ). ` as ` (" firstName "). isEqualTo (" Test ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( lastName ). ` as ` (" lastName "). isEqualTo (" Test ov ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( city . id ). ` as ` (" city Ġid "). isNotNull () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( city . name ). ` as ` (" city Ġname "). isEqualTo (" City 1 7 ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( gender . id ). ` as ` (" gender Ġid "). isNotNull () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( gender . name ). ` as ` (" gender Ġname "). isEqualTo (" Male ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠfindBy UserId Not Exists Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠuserId Ġ= Ġ 4 2 L ĊĠĠĠĠĠĠĠ ĠassertThat ( user Personal Details Repository . findBy UserId ( userId )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. ` as ` (" personal Ġdetails Ġfor Ġuser Ġwith Ġid Ġ'$ userId '") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. isNull () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsave Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠuserId Ġ= Ġ 3 L ĊĠĠĠĠĠĠĠ Ġval ĠfirstName Ġ= Ġ" 1 " ĊĠĠĠĠĠĠĠ Ġval ĠlastName Ġ= Ġ" 2 " ĊĠĠĠĠĠĠĠ Ġval Ġbirth Date Ġ= ĠLocalDate . of ( 2 0 0 0 , Ġ 1 0 , Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġgender Ġ= ĠGender ( id Ġ= Ġ 1 , Ġname Ġ= Ġ" Male ") ĊĠĠĠĠĠĠĠ Ġval Ġcity Ġ= ĠCity ( id Ġ= Ġ 1 , Ġname Ġ= Ġ" City 1 7 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġuser Personal Details Ġ= ĠUser Personal Details ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserId Ġ= ĠuserId , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠfirstName Ġ= ĠfirstName , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlastName Ġ= ĠlastName , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbirth Date Ġ= Ġbirth Date , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgender Ġ= Ġgender , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcity Ġ= Ġcity ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġsaved User Personal Details Ġ= Ġuser Personal Details Repository . save ( user Personal Details ) ĊĠĠĠĠĠĠĠ Ġval Ġretrieved User Personal Details Ġ= Ġuser Personal Details Repository . findBy UserId ( userId ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( retrie ved User Personal Details ). isNotNull () ĊĠĠĠĠĠĠĠ ĠassertThat ( saved User Personal Details ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( retrie ved User Personal Details ) ĊĊĠĠĠĠĠĠĠ Ġfun Ġcheck Personal Details ( personal Details : ĠUser Personal Details ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( personal Details ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( id ). ` as ` (" id "). isNotNull () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( userId ). ` as ` (" userId "). isEqualTo ( userId ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( firstName ). ` as ` (" firstName "). isEqualTo (" 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( lastName ). ` as ` (" lastName "). isEqualTo (" 2 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( city ). ` as ` (" city "). isEqualTo ( city ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( gender ). ` as ` (" gender "). isEqualTo ( gender ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( birth Date ). ` as ` (" birth Ġdate "). isEqualTo ( LocalDate . of ( 2 0 0 0 , Ġ 1 0 , Ġ 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcheck Personal Details ( saved User Personal Details ) ĊĠĠĠĠĠĠĠ Ġcheck Personal Details ( retrie ved User Personal Details !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Parameterized Test ( name Ġ= Ġ"{ displayName } Ġ[ limit Ġ= Ġ{ 0 } Ġoffset Ġ= Ġ{ 1 }] ") ĊĠĠĠ Ġ@ DisplayName (" all Ġusers Ġordered Ġby Ġid ") ĊĠĠĠ Ġ@ Method Source ( ĊĠĠĠĠĠĠĠ Ġ" ru . am ai . high load . social . repository . impl . User Personal Details Jdbc Repository Test Kt # users Provider " ĊĠĠĠ Ġ) ĊĠĠĠ Ġfun ĠfindAll Order ById ( ĊĠĠĠĠĠĠĠ Ġlimit : ĠInt , ĊĠĠĠĠĠĠĠ Ġoffset : ĠLong , ĊĠĠĠĠĠĠĠ Ġexpected Users : ĠList < User Personal Details > ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġusers Ġ= Ġuser Personal Details Repository . findAll Order ById ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlimit Ġ= Ġlimit , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoffset Ġ= Ġoffset ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertThat ( users ). isEqualTo ( expected Users ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Parameterized Test ( name Ġ= Ġ""" ĊĠĠĠĠĠĠĠ Ġ{ displayName } Ġ[ limit Ġ= Ġ{ 0 } Ġoffset Ġ= Ġ{ 1 }, Ġ Ċ firstName Ġstarts Ġwith Ġ{ 2 }, ĠlastName Ġstarts Ġwith Ġ{ 3 }] ĊĠĠĠ Ġ"" ") ĊĠĠĠ Ġ@ DisplayName (" users Ġordered Ġby Ġid , Ġfiltered Ġby ĠfirstName Ġand ĠlastName ") ĊĠĠĠ Ġ@ Method Source ( ĊĠĠĠĠĠĠĠ Ġ" ru . am ai . high load . social . repository . impl . User Personal Details Jdbc Repository Test Kt # users WithName Provider " ĊĠĠĠ Ġ) ĊĠĠĠ Ġfun ĠfindBy FirstName Prefix And LastName Prefix Order ById ( ĊĠĠĠĠĠĠĠ Ġlimit : ĠInt , ĊĠĠĠĠĠĠĠ Ġoffset : ĠLong , ĊĠĠĠĠĠĠĠ ĠfirstName Prefix : ĠString , ĊĠĠĠĠĠĠĠ ĠlastName Prefix : ĠString , ĊĠĠĠĠĠĠĠ Ġexpected Users : ĠList < User Personal Details > ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġusers Ġ= Ġuser Personal Details Repository . findBy FirstName Prefix And LastName Prefix Order ById ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlimit Ġ= Ġlimit , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoffset Ġ= Ġoffset , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠfirstName Prefix Ġ= ĠfirstName Prefix , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlastName Prefix Ġ= ĠlastName Prefix ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertThat ( users ). isEqualTo ( expected Users ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun Ġusers Provider () Ġ= ĠlistOf ( ĊĠĠĠ Ġof ( 0 , Ġ 1 , Ġempty List < User Personal Details > ()), ĊĠĠĠ Ġof ( 1 , Ġ 1 , ĠlistOf ( Test )), ĊĠĠĠ Ġof ( 2 , Ġ 0 , ĠlistOf ( QA , ĠTest )) Ċ ) Ċ Ċ private Ġfun Ġusers WithName Provider () Ġ= ĠlistOf ( ĊĠĠĠ Ġof ( 0 , Ġ 1 0 0 , Ġ" T ", Ġ" T ", Ġempty List < User Personal Details > ()), ĊĠĠĠ Ġof ( 1 0 , Ġ 0 , Ġ" T ", Ġ" T ", ĠlistOf ( Test )), ĊĠĠĠ Ġof ( 1 0 , Ġ 0 , Ġ" A ", Ġ" T ", Ġempty List < User Personal Details >()) Ċ ) Ċ