package Ġcom . shop app . shop ify . api Ċ Ċ import Ġcom . n ha ar man . mockito _ kotlin .* Ċ import Ġcom . shop app . gateway . Api Callback Ċ import Ġcom . shop app . gateway . entity . Error Ċ import Ġcom . shop app . gateway . entity . Order Ċ import Ġcom . shop app . shop ify . Sto refront Mock Instanti ator Ċ import Ġcom . shop app . shop ify . constant . Constant Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Assert . assertTrue Ċ import Ġorg . junit . Test Ċ Ċ class ĠShop ify Api Order Test Ġ: ĠBase Shop ify Api Test () Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Orders Should Return Order List () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( graph Response , Ġst o refront Query Root ) Ġ= Ġmock Data Response () ĊĠĠĠĠĠĠĠ Ġmock Query Graph Call With On Response ( graph Response ) ĊĊĠĠĠĠĠĠĠ Ġval Ġst o refront Order Connection Ġ= ĠSto refront Mock Instanti ator . new Order Connection () ĊĠĠĠĠĠĠĠ Ġval Ġcustomer Ġ= ĠSto refront Mock Instanti ator . new Customer () ĊĠĠĠĠĠĠĠ Ġgiven ( sto refront Query Root . customer ). willReturn ( customer ) ĊĠĠĠĠĠĠĠ Ġgiven ( customer . orders ). willReturn ( sto refront Order Connection ) ĊĊĠĠĠĠĠĠĠ Ġmock Session ( true ) ĊĠĠĠĠĠĠĠ Ġval Ġcallback : ĠApi Callback < List < Order >> Ġ= Ġmock () ĊĠĠĠĠĠĠĠ Ġapi . get Orders ( any (), Ġany OrNull (), Ġcallback ) ĊĊĠĠĠĠĠĠĠ Ġargument Captor < List < Order >> (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( callback ). on Result ( capture ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( callback , Ġnever ()). on Failure ( any ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( first Value . isNotEmpty ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Orders Should Return Non Critical Error () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgraph Response Ġ= Ġmock ErrorResponse () ĊĠĠĠĠĠĠĠ Ġmock Query Graph Call With On Response ( graph Response ) ĊĊĠĠĠĠĠĠĠ Ġmock Session ( true ) ĊĠĠĠĠĠĠĠ Ġval Ġcallback : ĠApi Callback < List < Order >> Ġ= Ġmock () ĊĠĠĠĠĠĠĠ Ġapi . get Orders ( any (), Ġany OrNull (), Ġcallback ) ĊĊĠĠĠĠĠĠĠ Ġargument Captor < Error >(). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( callback , Ġnever ()). on Result ( any ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( callback ). on Failure ( capture ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Sto refront Mock Instanti ator . DEFAULT _ ERROR _ MESSAGE , Ġfirst Value . message ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( first Value Ġis ĠError . Non Critical ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Orders Should Return Non Critical When User Not Authorized () Ġ{ ĊĠĠĠĠĠĠĠ Ġmock Session ( false ) ĊĠĠĠĠĠĠĠ Ġval Ġcallback : ĠApi Callback < List < Order >> Ġ= Ġmock () ĊĠĠĠĠĠĠĠ Ġapi . get Orders ( any (), Ġany OrNull (), Ġcallback ) ĊĊĠĠĠĠĠĠĠ Ġargument Captor < Error >(). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( callback , Ġnever ()). on Result ( any ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( callback ). on Failure ( capture ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Constant . UN AUTHORIZ ED _ ERROR , Ġfirst Value . message ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( first Value Ġis ĠError . Non Critical ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Orders Should Return Content Error () Ġ{ ĊĠĠĠĠĠĠĠ Ġmock Query Graph Call With On Failure () ĊĊĠĠĠĠĠĠĠ Ġmock Session ( true ) ĊĠĠĠĠĠĠĠ Ġval Ġcallback : ĠApi Callback < List < Order >> Ġ= Ġmock () ĊĠĠĠĠĠĠĠ Ġapi . get Orders ( any (), Ġany OrNull (), Ġcallback ) ĊĊĠĠĠĠĠĠĠ Ġargument Captor < Error >(). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( callback , Ġnever ()). on Result ( any ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( callback ). on Failure ( capture ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( first Value Ġis ĠError . Content ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Order Should Return Order () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( graph Response , Ġst o refront Query Root ) Ġ= Ġmock Data Response () ĊĠĠĠĠĠĠĠ Ġmock Query Graph Call With On Response ( graph Response ) ĊĊĠĠĠĠĠĠĠ Ġval Ġst o refront Order Ġ= ĠSto refront Mock Instanti ator . new Order () ĊĠĠĠĠĠĠĠ Ġgiven ( sto refront Query Root . node ). willReturn ( sto refront Order ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcallback : ĠApi Callback < Order > Ġ= Ġmock () ĊĠĠĠĠĠĠĠ Ġapi . getOrder ( Sto refront Mock Instanti ator . DEFAULT _ ID , Ġcallback ) ĊĊĠĠĠĠĠĠĠ Ġargument Captor < Order >(). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( callback ). on Result ( capture ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( callback , Ġnever ()). on Failure ( any ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( sto refront Order . id . toString (), Ġfirst Value . id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Order Should Return Non Critical Error () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgraph Response Ġ= Ġmock ErrorResponse () ĊĠĠĠĠĠĠĠ Ġmock Query Graph Call With On Response ( graph Response ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcallback : ĠApi Callback < Order > Ġ= Ġmock () ĊĠĠĠĠĠĠĠ Ġapi . getOrder ( Sto refront Mock Instanti ator . DEFAULT _ ID , Ġcallback ) ĊĊĠĠĠĠĠĠĠ Ġargument Captor < Error >(). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( callback , Ġnever ()). on Result ( any ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( callback ). on Failure ( capture ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Sto refront Mock Instanti ator . DEFAULT _ ERROR _ MESSAGE , Ġfirst Value . message ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( first Value Ġis ĠError . Non Critical ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Order Should Return Content Error () Ġ{ ĊĠĠĠĠĠĠĠ Ġmock Query Graph Call With On Failure () ĊĊĠĠĠĠĠĠĠ Ġval Ġcallback : ĠApi Callback < Order > Ġ= Ġmock () ĊĠĠĠĠĠĠĠ Ġapi . getOrder ( Sto refront Mock Instanti ator . DEFAULT _ ID , Ġcallback ) ĊĊĠĠĠĠĠĠĠ Ġargument Captor < Error >(). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( callback , Ġnever ()). on Result ( any ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( callback ). on Failure ( capture ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( first Value Ġis ĠError . Content ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Order Should Return Critical Error () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( graph Response , Ġst o refront Query Root ) Ġ= Ġmock Data Response () ĊĠĠĠĠĠĠĠ Ġmock Query Graph Call With On Response ( graph Response ) ĊĊĠĠĠĠĠĠĠ Ġgiven ( sto refront Query Root . node ). willReturn ( null ) ĊĠĠĠĠĠĠĠ Ġval Ġcallback : ĠApi Callback < Order > Ġ= Ġmock () ĊĠĠĠĠĠĠĠ Ġapi . getOrder ( Sto refront Mock Instanti ator . DEFAULT _ ID , Ġcallback ) ĊĊĠĠĠĠĠĠĠ Ġargument Captor < Error >(). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( callback , Ġnever ()). on Result ( any ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( callback ). on Failure ( capture ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( first Value Ġis ĠError . Critical ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }