package Ġio . must el id ae . ot ter . ne ot rop ical . api . domain . checkout . api Ċ Ċ import Ġio . kot est . matchers . shouldBe Ċ import Ġio . must el id ae . ot ter . ne ot rop ical . api . common . Product Code Ċ import Ġio . must el id ae . ot ter . ne ot rop ical . api . config . Flow Test Support Ċ import Ġorg . bson . types . ObjectId Ċ import Ġorg . junit . jupiter . api . Assertions Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ class ĠCheckout Controller Test Ġ: ĠFlow Test Support () Ġ{ ĊĠĠĠ Ġprivate Ġval ĠuserId Ġ= Ġ 1 2 7 1 7 5 8 2 L ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcheckout 1 Product () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠGiven ĊĠĠĠĠĠĠĠ Ġval Ġflow Ġ= ĠCheckout Controller Flow ( Product Code . MOCK _ UP , Ġmock Mvc ) ĊĠĠĠĠĠĠĠ Ġval Ġtopic Id Ġ= ĠObjectId (). toString () ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠCheckout Resources . Request . Checkout . a Fixture By Once ( userId ) ĊĠĠĠĠĠĠĠ Ġ// ĠWhen Ġ& ĠThen ĊĠĠĠĠĠĠĠ Ġval ĠorderId Ġ= Ġflow . checkout ( topic Id , Ġrequest ) ĊĊĠĠĠĠĠĠĠ ĠorderId . length ĠshouldBe Ġ 2 4 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcheckout No Price Error () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠGiven ĊĠĠĠĠĠĠĠ Ġval Ġflow Ġ= ĠCheckout Controller Flow ( Product Code . MOCK _ UP , Ġmock Mvc ) ĊĠĠĠĠĠĠĠ Ġval Ġtopic Id Ġ= ĠObjectId (). toString () ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠCheckout Resources . Request . Checkout ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserId , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCheckout Resources . Request . Checkout . Product Order ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Price ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCheckout Resources . Request . Checkout . Product Order . Goods Order ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Goods ĠOrder ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ// ĠWhen Ġ& ĠThen ĊĠĠĠĠĠĠĠ ĠAssertions . assert Throws ( java . lang . AssertionError :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġflow . checkout ( topic Id , Ġrequest ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ