package Ġno . group 3 . Spring Quiz . user . api Ċ Ċ import Ġio . rest ass ured . Rest Ass ured Ċ import Ġio . rest ass ured . http . ContentType Ċ import Ġorg . apache . http . auth . AUTH Ċ import Ġorg . hamcrest . Core Matchers Ċ import Ġorg . junit . Test Ċ import Ġorg . springframework . test . annotation . Dir ties Context Ċ Ċ @ Dir ties Context ( class Mode Ġ= ĠD irt ies Context . Class Mode . BEFORE _ EACH _ TEST _ METHOD ) Ġ// Ġclean Ġafter Ġeach Ġtest Ċ class ĠPost User Test Ġ: ĠUser TestBase () Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcreate User Test () Ġ{ ĊĠĠĠĠĠĠĠ ĠRest Ass ured . given (). contentType ( ContentType . JSON ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. body ( getUser Dto ( AUTH _ USERNAME _ 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. post ( USERS _ PATH ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. then () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. statusCode ( 2 0 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcreate Two Users With Different Name Test () Ġ{ ĊĠĠĠĠĠĠĠ ĠRest Ass ured . given (). contentType ( ContentType . JSON ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. body ( getUser Dto ( AUTH _ USERNAME _ 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. post ( USERS _ PATH ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. then () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. statusCode ( 2 0 1 ) ĊĊĠĠĠĠĠĠĠ ĠRest Ass ured . given (). contentType ( ContentType . JSON ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. body ( getUser Dto ( AUTH _ USERNAME _ 2 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. post ( USERS _ PATH ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. then () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. statusCode ( 2 0 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcreate User With Same Username Should Fail Test () Ġ{ ĊĠĠĠĠĠĠĠ ĠRest Ass ured . given (). contentType ( ContentType . JSON ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. body ( getUser Dto ( AUTH _ USERNAME _ 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. post ( USERS _ PATH ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. then () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. statusCode ( 2 0 1 ) ĊĊĠĠĠĠĠĠĠ ĠRest Ass ured . given (). contentType ( ContentType . JSON ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. body ( getUser Dto ( AUTH _ USERNAME _ 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. post ( USERS _ PATH ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. then () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. statusCode ( 4 0 9 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcreate User Where Id IsSet Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġuser Dto Ġ= ĠgetUser Dto ( AUTH _ USERNAME _ 1 ) ĊĊĠĠĠĠĠĠĠ Ġuser Dto . id Ġ= Ġ 3 ĊĊĠĠĠĠĠĠĠ ĠRest Ass ured . given (). contentType ( ContentType . JSON ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. body ( user Dto ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. post ( USERS _ PATH ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. then () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. statusCode ( 4 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcreate User Where Field Are Empty (){ ĊĠĠĠĠĠĠĠ Ġvar Ġuser Dto Ġ= ĠgetUser Dto ( AUTH _ USERNAME _ 1 ) ĊĊĠĠĠĠĠĠĠ Ġuser Dto . firstName Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ ĠRest Ass ured . given (). contentType ( ContentType . JSON ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. body ( user Dto ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. post ( USERS _ PATH ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. then () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. statusCode ( 4 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcreate User With Malformed Email (){ ĊĠĠĠĠĠĠĠ Ġvar Ġuser Dto Ġ= ĠgetUser Dto ( AUTH _ USERNAME _ 1 ) ĊĊĠĠĠĠĠĠĠ Ġuser Dto . email Ġ= Ġ" ------ abc 1 2 3 ------ " ĊĊĠĠĠĠĠĠĠ ĠRest Ass ured . given (). contentType ( ContentType . JSON ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. body ( user Dto ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. post ( USERS _ PATH ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. then () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. statusCode ( 4 0 0 ) ĊĠĠĠ Ġ} ĊĊ Ċ }