package Ġvec . integration . order Ċ Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . boot . test . context . SpringBootTest Ċ import Ġorg . springframework . context . ApplicationContext Ċ import Ġorg . springframework . security . test . web . reactive . server . Security Mock Server Configur ers Ċ import Ġorg . springframework . test . web . reactive . server . Web Test Client Ċ import Ġorg . springframework . test . web . reactive . server . apply Kt Ċ import Ġorg . springframework . web . reactive . function . Body Inser ters Ċ import Ġvec . domain . entity . Cart Ċ import Ġvec . domain . entity . User Ċ import Ġvec . factory . Cart Factory Ċ import Ġvec . factory . Cart Product Factory Ċ import Ġvec . factory . User Factory Ċ Ċ @ SpringBootTest Ċ class ĠIndex Tests Ġ{ ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġapplication Context : ĠApplication Context ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcart Factory : ĠCart Factory ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcart Product Factory : ĠCart Product Factory ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġuser Factory : ĠUser Factory ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġanonymous __ get _ respon ds _ 3 0 2 () Ġ{ ĊĠĠĠĠĠĠĠ ĠWeb Test Client . bind To ApplicationContext ( application Context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Kt ( Security Mock Server Configur ers . spring Security ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get (). uri ("/ order ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Status (). is Found ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġanonymous __ post _ respon ds _ 3 0 2 () Ġ{ ĊĠĠĠĠĠĠĠ ĠWeb Test Client . bind To ApplicationContext ( application Context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Kt ( Security Mock Server Configur ers . spring Security ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. mutate With ( Security Mock Server Configur ers . csrf ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. post (). uri ("/ order ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. body ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBody Inser ters . from FormData ("", Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). exchange () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Status (). is Found ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġrole _ admin __ get _ respon ds _ 4 0 3 () Ġ{ ĊĠĠĠĠĠĠĠ ĠWeb Test Client . bind To ApplicationContext ( application Context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Kt ( Security Mock Server Configur ers . spring Security ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. mutate With ( Security Mock Server Configur ers . mock User ( user Factory . create ( has Role Admin Ġ= Ġtrue ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get (). uri ("/ order ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Status (). is Forbidden ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġrole _ admin __ post _ respon ds _ 4 0 3 () Ġ{ ĊĠĠĠĠĠĠĠ ĠWeb Test Client . bind To ApplicationContext ( application Context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Kt ( Security Mock Server Configur ers . spring Security ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. mutate With ( Security Mock Server Configur ers . csrf ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. mutate With ( Security Mock Server Configur ers . mock User ( user Factory . create ( has Role Admin Ġ= Ġtrue ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. post (). uri ("/ order ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. body ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBody Inser ters . from FormData ("", Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). exchange () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Status (). is Forbidden ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġrole _ consumer __ get _ respon ds _ 2 0 0 () Ġ{ ĊĠĠĠĠĠĠĠ ĠWeb Test Client . bind To ApplicationContext ( application Context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Kt ( Security Mock Server Configur ers . spring Security ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. mutate With ( Security Mock Server Configur ers . mock User ( user Factory . create ( has Role Consumer Ġ= Ġtrue ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get (). uri ("/ order ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Status (). is Ok ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġrole _ consumer __ post _ respon ds _ 3 0 3 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser : ĠUser Ġ= Ġuser Factory . create ( has Role Consumer Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġval Ġcart : ĠCart Ġ= Ġcart Factory . create ( userId Ġ= Ġuser . id ) ĊĠĠĠĠĠĠĠ Ġcart Product Factory . create ( cart Id Ġ= Ġcart . id ) ĊĊĠĠĠĠĠĠĠ ĠWeb Test Client . bind To ApplicationContext ( application Context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Kt ( Security Mock Server Configur ers . spring Security ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. mutate With ( Security Mock Server Configur ers . csrf ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. mutate With ( Security Mock Server Configur ers . mock User ( user )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. post (). uri ("/ order ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. body ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBody Inser ters . from FormData ("", Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). exchange () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Status (). is See Other ĊĠĠĠ Ġ} Ċ Ċ } Ċ