package Ġn ft . free port . processor . free port . price Ċ Ċ import Ġio . kot est . matchers . collections . should Have Size Ċ import Ġio . kot est . matchers . shouldBe Ċ import Ġio . quarkus . test . Test Transaction Ċ import Ġio . quarkus . test . junit . Qu ark us Test Ċ import Ġn ft . free port . listener . event . Take Offer Ċ import Ġn ft . free port . processor . free port . nft . N ft Entity Ċ import Ġn ft . free port . wrap Event Ċ import Ġorg . hamcrest . Matcher Assert . assertThat Ċ import Ġorg . hamcrest . Matchers . equalTo Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġjava . math . BigInteger Ċ import Ġjava . time . Instant Ċ import Ġjavax . inject . Inject Ċ Ċ @ Qu ark us Test Ċ internal Ġclass ĠTake Offer Event Processor Test Ġ{ ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġinternal Ġlateinit Ġvar Ġtest Subject : ĠTake Offer Event Processor ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Supports ĠTake Offer Ġevent `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( test Subject . supported Class , ĠequalTo ( Take Offer :: class . java )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Test Transaction ĊĠĠĠ Ġfun Ġ` take Ġoffer Ġevent Ġ-- Ġmapped Ġand Ġsaved Ġto Ġdatab se Ġcorrectly `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// given ĊĠĠĠĠĠĠĠ ĠN ft Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn ft Id Ġ= Ġ" 1 2 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm inter Ġ= Ġ" 0 x 5 1 c 5 5 9 0 5 0 4 2 5 1 a 5 9 9 3 ba 6 a 4 6 2 4 6 f 8 7 fa 0 eae 5 8 9 7 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupply Ġ= ĠBigInteger . ONE ĊĠĠĠĠĠĠĠ Ġ). persist () ĊĠĠĠĠĠĠĠ Ġval Ġevent Ġ= ĠTake Offer ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuy er Ġ= Ġ" 0 x 1 2 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsell er Ġ= Ġ" 0 x abc ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn ft Id Ġ= Ġ" 1 2 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprice Ġ= ĠBigInteger . TEN , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġamount Ġ= ĠBigInteger . TWO ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ// when ĊĠĠĠĠĠĠĠ Ġtest Subject . process ( event . wrap Event (" 2 0 2 1 - 0 7 - 0 8 T 0 0 : 4 7 : 3 0 Z ")) ĊĊĠĠĠĠĠĠĠ Ġ// then ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠTake Offer Entity . findAll (). list () ĊĊĠĠĠĠĠĠĠ Ġresult Ġshould Have Size Ġ 1 ĊĠĠĠĠĠĠĠ Ġwith ( result . first ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġamount ĠshouldBe ĠBigInteger . TWO ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprice ĠshouldBe ĠBigInteger . TEN ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuy er ĠshouldBe Ġ" 0 x 1 2 3 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsell er ĠshouldBe Ġ" 0 x abc " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn ft Id ĠshouldBe Ġ" 1 2 3 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtimestamp ĠshouldBe ĠInstant . parse (" 2 0 2 1 - 0 7 - 0 8 T 0 0 : 4 7 : 3 0 Z ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }