/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠNet flix , ĠInc . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . netflix . graphql . d gs . example . shared . data fetcher Ċ Ċ import Ġcom . netflix . graphql . d gs . D gs Query Executor Ċ import Ġcom . netflix . graphql . d gs . example . Example SpringBootTest Ċ import Ġcom . netflix . graphql . types . errors . Typed Graph Q LError Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ Ċ @ Example SpringBootTest Ċ class ĠMutation Test Ġ{ ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġlateinit Ġvar Ġd gs Query Executor : ĠD gs Query Executor ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Mutation () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexecution Result Ġ= Ġd gs Query Executor . execute ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutation Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Rating ( input : Ġ{ stars : Ġ 5 , Ġtitle : Ġ" Str anger ĠThings "}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġavg St ars ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( execution Result . errors . size ). isEqualTo ( 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Invalid Mutation () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexecution Result Ġ= Ġd gs Query Executor . execute ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutation Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Rating ( input : Ġ{ stars : Ġ- 1 , Ġtitle : Ġ" Str anger ĠThings "}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġavg St ars ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( execution Result . errors . size ). isEqualTo ( 1 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( execution Result . errors [ 0 ]. message ). isEqualTo (" java . lang . IllegalArgumentException : ĠSt ars Ġmust Ġbe Ġ 1 - 5 ") ĊĊĠĠĠĠĠĠĠ ĠassertThat ( execution Result . errors [ 0 ]). isInstanceOf ( Typed Graph Q LError :: class . java ) ĊĠĠĠĠĠĠĠ ĠassertThat ( execution Result . errors [ 0 ]. extensions [" error Type "]). isEqualTo (" INTERNAL ") ĊĠĠĠ Ġ} Ċ } Ċ