package Ġio . customer . sdk . repositories Ċ Ċ import Ġio . customer . base . error . StatusCode Ċ import Ġio . customer . sdk . api . service . Customer Service Ċ import Ġio . customer . sdk . repository . Attributes Repository Ċ import Ġio . customer . sdk . repository . Identity Repository Ċ import Ġio . customer . sdk . repository . Identity Repository Impl Ċ import Ġio . customer . sdk . utils . Mock Ret rofit Error Ċ import Ġio . customer . sdk . utils . Mock Ret rofit Success Ċ import Ġio . customer . sdk . utils . verify Error Ċ import Ġio . customer . sdk . utils . verify Success Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . mockito . Mockito Ċ import Ġorg . mockito . kotlin . any Ċ import Ġorg . mockito . kotlin . mock Ċ Ċ internal Ġclass ĠIdentity Repository Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġmock Customer Service : ĠCustomer Service Ġ= Ġmock () ĊĠĠĠ Ġprivate Ġval Ġmock Attributes Repository : ĠAttributes Repository Ġ= Ġmock () ĊĊĠĠĠ Ġlateinit Ġvar Ġidentity Repository : ĠIdentity Repository ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġidentity Repository Ġ= ĠIdentity Repository Impl ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcustomer Service Ġ= Ġmock Customer Service , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattributes Repository Ġ= Ġmock Attributes Repository ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Return Ġsuccess Ġaction Ġwhen Ġidentify Ġapi Ġrequest Ġreturns Ġsuccess `() Ġ{ ĊĠĠĠĠĠĠĠ ĠMockito .` when `( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmock Customer Service . identify Customer ( any (), Ġany ()) ĊĠĠĠĠĠĠĠ Ġ). thenReturn ( Mock Ret rofit Success ( Unit ). to Customer Io Call ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġidentity Repository . identify (" test ", Ġempty Map ()). execute () ĊĊĠĠĠĠĠĠĠ Ġverify Success ( result , ĠUnit ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Return Ġsuccess Ġaction Ġwhen Ġidentify Ġapi Ġrequest Ġwith Ġattributes Ġreturns Ġsuccess `() Ġ{ ĊĠĠĠĠĠĠĠ ĠMockito .` when `( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmock Customer Service . identify Customer ( any (), Ġany ()) ĊĠĠĠĠĠĠĠ Ġ). thenReturn ( Mock Ret rofit Success ( Unit ). to Customer Io Call ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġidentity Repository . identify (" test ", Ġmap Of (" email " Ġto Ġ" test ")). execute () ĊĊĠĠĠĠĠĠĠ Ġverify Success ( result , ĠUnit ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Return Ġerror Ġaction Ġidentify Ġapi Ġrequest Ġreturns Ġ 5 0 0 Ġerror `() Ġ{ ĊĠĠĠĠĠĠĠ ĠMockito .` when `( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmock Customer Service . identify Customer ( any (), Ġany ()) ĊĠĠĠĠĠĠĠ Ġ). thenReturn ( Mock Ret rofit Error < Unit >( 5 0 0 ). to Customer Io Call ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġidentity Repository . identify (" test ", Ġempty Map ()). execute () ĊĊĠĠĠĠĠĠĠ Ġverify Error ( result , ĠStatusCode . InternalServerError ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Return Ġerror Ġaction Ġidentify Ġapi Ġrequest Ġreturns Ġ 4 0 0 Ġerror `() Ġ{ ĊĠĠĠĠĠĠĠ ĠMockito .` when `( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmock Customer Service . identify Customer ( any (), Ġany ()) ĊĠĠĠĠĠĠĠ Ġ). thenReturn ( Mock Ret rofit Error < Unit >( 4 0 0 ). to Customer Io Call ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġidentity Repository . identify (" test ", Ġempty Map ()). execute () ĊĊĠĠĠĠĠĠĠ Ġverify Error ( result , ĠStatusCode . BadRequest ) ĊĠĠĠ Ġ} Ċ } Ċ