@@ -539,4 +539,75 @@ public function canRetrieveConversionCancellationQuote(){
539539 $ this ->assertSame ($ dummy ['amount ' ], $ conversionConversionCancellationQuote ->getAmount ());
540540 $ this ->assertSame ($ dummy ['currency ' ], $ conversionConversionCancellationQuote ->getCurrency ());
541541 }
542+
543+
544+ /**
545+ * @test
546+ */
547+ public function canCreateConversionWithConversionDatePreference ()
548+ {
549+
550+ $ data = '{
551+ "id": "d56d7553-19ab-4cde-b44b-79cac86989cb",
552+ "settlement_date": "2020-05-19T13:30:00+00:00",
553+ "conversion_date": "2020-05-19T00:00:00+00:00",
554+ "short_reference": "20200519-XYLXJL",
555+ "creator_contact_id": "42a6af4a-65b8-4721-43d9-7f395da2551e",
556+ "account_id": "3f22044f-ae21-42a1-bc4f-cd0370b008a5",
557+ "currency_pair": "EURGBP",
558+ "status": "awaiting_funds",
559+ "buy_currency": "EUR",
560+ "sell_currency": "GBP",
561+ "client_buy_amount": "1000.00",
562+ "client_sell_amount": "805.90",
563+ "fixed_side": "buy",
564+ "core_rate": "0.8059",
565+ "partner_rate": "",
566+ "partner_status": "funds_arrived",
567+ "partner_buy_amount": "0.00",
568+ "partner_sell_amount": "0.00",
569+ "client_rate": "0.8059",
570+ "deposit_required": false,
571+ "deposit_amount": "0.00",
572+ "deposit_currency": "",
573+ "deposit_status": "not_required",
574+ "deposit_required_at": "",
575+ "payment_ids": [],
576+ "unallocated_funds": "1000.00",
577+ "unique_request_id": null,
578+ "created_at": "2020-05-19T12:31:43+00:00",
579+ "updated_at": "2020-05-19T12:31:43+00:00",
580+ "mid_market_rate": "0.8058"
581+ } ' ;
582+
583+ $ entryPoint = new ConversionsEntryPoint ($ this ->getMockedClient (
584+ json_decode ($ data ),
585+ 'POST ' ,
586+ 'conversions/create ' ,
587+ [],
588+ [
589+ 'buy_currency ' => 'EUR ' ,
590+ 'sell_currency ' => 'GBP ' ,
591+ 'fixed_side ' => 'buy ' ,
592+ 'amount ' => '1000 ' ,
593+ 'term_agreement ' => 'true ' ,
594+ 'conversion_date_preference ' => 'earliest ' ,
595+ 'reason ' => null ,
596+ 'conversion_date ' => null ,
597+ 'client_buy_amount ' => null ,
598+ 'client_sell_amount ' => null ,
599+ 'unique_request_id ' => null ,
600+ 'on_behalf_of ' => null
601+
602+ ]
603+ ));
604+
605+ $ conversion = Conversion::create ('EUR ' , 'GBP ' , 'buy ' )->setConversionDatePreference ('earliest ' );
606+ $ createdConversion = $ entryPoint ->create ($ conversion , 1000 , null , true );
607+
608+ $ this ->assertTrue ($ createdConversion instanceof Conversion);
609+ $ this ->assertSame ('805.90 ' , $ createdConversion ->getClientSellAmount ());
610+ $ this ->assertSame ('2020-05-19T13:30:00+00:00 ' , $ createdConversion ->getSettlementDate ()->format (DateTime::RFC3339 ));
611+
612+ }
542613}
0 commit comments