/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠTransfer Wise ĠLtd . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . transfer wise . b anks . recipients . create Ċ Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . any Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . argument Captor Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . eq Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . verify Ċ import Ġcom . transfer wise . b anks . api . B anks WebService Ċ import Ġcom . transfer wise . b anks . api . request . Create Recipient Request Ċ import Ġkotlinx . coroutines . test . run Blocking Test Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . jupiter . api . DisplayName Ċ import Ġorg . junit . jupiter . api . Nested Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . extension . Extend With Ċ import Ġorg . mockito . Mock Ċ import Ġorg . mockito . junit . jupiter . Mockito Extension Ċ Ċ @ Extend With ( Mockito Extension :: class ) Ċ internal Ġclass ĠCreate Recipients WebService Test Ġ{ ĊĊĠĠĠ Ġ@ Mock ĊĠĠĠ Ġlateinit Ġvar Ġweb Service : ĠB anks WebService ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġinner Ġclass ĠGet Form Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġinternal Ġfun Ġ` should Ġget Ġrecipient Ġrequirements Ġwith Ġcustomer Ġid `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCreate Recipients WebService ( web Service , Ġ 5 , Ġ"", Ġ""). get Form () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( web Service ). get Recipient Requirements ( eq ( 5 ), Ġany ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġinternal Ġfun Ġ` should Ġget Ġrecipient Ġrequirements Ġwith Ġquote Ġid `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCreate Recipients WebService ( web Service , Ġ 0 , Ġ" quote Id ", Ġ""). get Form () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( web Service ). get Recipient Requirements ( any (), Ġeq (" quote Id ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġ@ DisplayName (" Refresh Ġform Ġupdate Ġrecipient Ġrequirements ") ĊĠĠĠ Ġinner Ġclass ĠRefresh Form Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġfake Attr sWith Type Ġ= Ġmap Of (" type " Ġto Ġ" tab ") ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġinternal Ġfun Ġ` with Ġcustomer Ġid `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCreate Recipients WebService ( web Service , Ġ 5 , Ġ"", Ġ""). refresh Form ( fake Attr sWith Type , Ġempty Map ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( web Service ). update Recipient Requirements ( eq ( 5 ), Ġany (), Ġany ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġinternal Ġfun Ġ` with Ġquote Ġid `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCreate Recipients WebService ( web Service , Ġ 0 , Ġ" quote Id ", Ġ""). refresh Form ( fake Attr sWith Type , Ġempty Map ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( web Service ). update Recipient Requirements ( any (), Ġeq (" quote Id "), Ġany ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġinternal Ġfun Ġ` with Ġcurrency `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCreate Recipients WebService ( web Service , Ġ 0 , Ġ"", Ġ" GBP "). refresh Form ( fake Attr sWith Type , Ġempty Map ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġargument Captor < Create Recipient Request > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( web Service ). update Recipient Requirements ( any (), Ġany (), Ġcapture ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( first Value . currency ). isEqualTo (" GBP ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġinternal Ġfun Ġ` with Ġrecipient Ġnot Ġowned Ġby Ġcustomer `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCreate Recipients WebService ( web Service , Ġ 0 , Ġ"", Ġ" GBP "). refresh Form ( fake Attr sWith Type , Ġempty Map ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġargument Captor < Create Recipient Request > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( web Service ). update Recipient Requirements ( any (), Ġany (), Ġcapture ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( first Value . owned By Customer ). isFalse () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġinternal Ġfun Ġ` with Ġrecipient Ġname `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġattrs Ġ= Ġmap Of (" type " Ġto Ġ" tab ", Ġ" account Holder Name " Ġto Ġ" name ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCreate Recipients WebService ( web Service , Ġ 0 , Ġ"", Ġ" GBP "). refresh Form ( attrs , Ġempty Map ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġargument Captor < Create Recipient Request > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( web Service ). update Recipient Requirements ( any (), Ġany (), Ġcapture ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( first Value . account Holder Name ). isEqualTo (" name ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġinternal Ġfun Ġ` with Ġempty Ġrecipient Ġname Ġwhen Ġno Ġprovided `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġattrs Ġ= Ġmap Of (" type " Ġto Ġ" tab ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCreate Recipients WebService ( web Service , Ġ 0 , Ġ"", Ġ" GBP "). refresh Form ( attrs , Ġempty Map ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġargument Captor < Create Recipient Request > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( web Service ). update Recipient Requirements ( any (), Ġany (), Ġcapture ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( first Value . account Holder Name ). isEmpty () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġinternal Ġfun Ġ` with Ġrecipient Ġtype `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġattrs Ġ= Ġmap Of (" type " Ġto Ġ" ib an ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCreate Recipients WebService ( web Service , Ġ 0 , Ġ"", Ġ" GBP "). refresh Form ( attrs , Ġempty Map ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġargument Captor < Create Recipient Request > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( web Service ). update Recipient Requirements ( any (), Ġany (), Ġcapture ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( first Value . type ). isEqualTo (" ib an ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġinternal Ġfun Ġ` with Ġrecipient Ġdetails `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCreate Recipients WebService ( web Service , Ġ 0 , Ġ"", Ġ" GBP "). refresh Form ( fake Attr sWith Type , Ġmap Of (" address " Ġto Ġ" value ")) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġargument Captor < Create Recipient Request > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( web Service ). update Recipient Requirements ( any (), Ġany (), Ġcapture ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( first Value . details ). isEqualTo ( map Of (" address " Ġto Ġ" value ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ