package Ġio . real world . app . web . controllers Ċ Ċ import Ġio . real world . app . domain . models . Comment Ċ import Ġio . real world . app . domain . models . Comment DTO Ċ import Ġio . real world . app . domain . models . Comments DTO Ċ import Ġio . real world . app . web . rules . App Rule Ċ import Ġorg . apache . http . HttpStatus Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Assert . assertTrue Ċ import Ġorg . junit . Ignore Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ Ċ @ Ignore Ċ class ĠComment Controller Test Ġ{ ĊĠĠĠ Ġ@ Rule ĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġval Ġapp Rule Ġ= ĠApp Rule () ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` add Ġcomment Ġfor Ġarticle Ġby Ġslug `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Article Ġ= Ġapp Rule . http . create Article () ĊĊĠĠĠĠĠĠĠ Ġval Ġcomment Ġ= ĠComment ( body Ġ= Ġ" Very Ġcarefully .") ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġapp Rule . http . post < Comment DTO >( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"/ api / articles /${ response Article . body . article ?. slug }/ comments ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠComment DTO ( comment ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( response . status , ĠHttpStatus . SC _ OK ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( response . body . comment ?. body , Ġcomment . body ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Ġall Ġcomments Ġfor Ġarticle Ġby Ġslug `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Article Ġ= Ġapp Rule . http . create Article () ĊĊĠĠĠĠĠĠĠ Ġval Ġslug Ġ= Ġresponse Article . body . article ?. slug ĊĊĠĠĠĠĠĠĠ Ġval Ġcomment Ġ= ĠComment ( body Ġ= Ġ" Very Ġcarefully .") ĊĠĠĠĠĠĠĠ Ġapp Rule . http . post < Comment DTO >( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"/ api / articles /$ slug / comments ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠComment DTO ( comment ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġapp Rule . http . get < Comments DTO > ("/ api / articles /$ slug / comments ") ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( response . status , ĠHttpStatus . SC _ OK ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( response . body . comments . isNotEmpty ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( response . body . comments . first (). body , Ġcomment . body ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` delete Ġcomment Ġfor Ġarticle Ġby Ġslug `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Article Ġ= Ġapp Rule . http . create Article () ĊĊĠĠĠĠĠĠĠ Ġval Ġslug Ġ= Ġresponse Article . body . article ?. slug ĊĊĠĠĠĠĠĠĠ Ġval Ġcomment Ġ= ĠComment ( body Ġ= Ġ" Very Ġcarefully .") ĊĠĠĠĠĠĠĠ Ġval Ġresponse Add Comment Ġ= Ġapp Rule . http . post < Comment DTO >( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"/ api / articles /$ slug / comments ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠComment DTO ( comment ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġapp Rule . http . delete ("/ api / articles /$ slug / comments /${ response Add Comment . body . comment ?. id }") ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( response . status , ĠHttpStatus . SC _ OK ) ĊĠĠĠ Ġ} Ċ } Ċ