package Ġcz . cle ver farm . inter view . farm assignment Ċ Ċ import Ġcom . fasterxml . jackson . core . type . Type Reference Ċ import Ġcom . fasterxml . jackson . databind . ObjectMapper Ċ import Ġcz . cle ver farm . inter view . farm assignment . validation . ValidationError Response Ċ import Ġio . zon ky . test . db . Auto Configure Embedded Database Ċ import Ġorg . fly way db . test . annotation . Fly way Test Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . boot . test . autoconfigure . web . servlet . Auto Configure MockMvc Ċ import Ġorg . springframework . boot . test . context . SpringBootTest Ċ import Ġorg . springframework . security . test . context . support . With Mock User Ċ import Ġorg . springframework . test . web . servlet . MockMvc Ċ import Ġorg . springframework . test . web . servlet . Mvc Result Ċ import Ġorg . springframework . test . web . servlet . Result Actions Dsl Ċ import Ġorg . springframework . test . web . servlet . Result Matcher Ċ import Ġorg . springframework . transaction . annotation . Transactional Ċ Ċ @ SpringBootTest Ċ @ Auto Configure Embedded Database ( provider Ġ= ĠAuto Configure Embedded Database . Database Provider . DOCKER ) Ċ @ Fly way Test Ċ @ Transactional Ċ @ Auto Configure MockMvc Ċ @ With Mock User Ċ internal Ġabstract Ġclass ĠIntegration Test Ġ{ ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprotected Ġlateinit Ġvar ĠobjectMapper : ĠObjectMapper ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprotected Ġlateinit Ġvar Ġmock Mvc : ĠMock Mvc ĊĊĠĠĠ Ġprotected Ġfun ĠResult Actions Dsl . andExpect ValidationError ( field : ĠString , Ġmessage : ĠString ? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġand Expect Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstatus Ġ{ Ġis BadRequest Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Ġ{ Ġvalidation Error ( field , Ġmessage ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġvalidation Error ( field : ĠString , Ġmessage : ĠString ? Ġ= Ġnull ): ĠResult Matcher Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠResult Matcher Ġ{ Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġerrors Ġ= Ġconvert Result < ValidationError Response >( result ). errors ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerrors . containsKey ( field ) Ġ&& Ġ( message Ġ== Ġnull Ġ|| Ġerrors . contains Value ( message )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfinal Ġinline Ġfun Ġ< re ified ĠT > ĠResult Actions Dsl . andReturn Converted (): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġthis . andReturn () ĊĠĠĠĠĠĠĠ Ġreturn Ġconvert Result ( result ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinline Ġfun Ġ< re ified ĠT > Ġconvert Result ( result : ĠM vc Result ): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtype Reference Ġ= Ġobject Ġ: ĠType Reference < T >() Ġ{} ĊĠĠĠĠĠĠĠ Ġreturn ĠobjectMapper . readValue ( result . response . content AsString , Ġtype Reference ) ĊĠĠĠ Ġ} Ċ }