@@ -14,25 +14,16 @@ interface
1414
1515 TTestableCreatePayment = class (TYookassaCreatePaymentRequest)
1616 public
17- function BuildRequestJSON : String; override;
1817 procedure TestToJSON ;
1918 end ;
2019
21- { TTestableCreateReceiptRequest }
22-
23- TTestableCreateReceiptRequest = class (TYookassaCreateReceiptRequest)
24- public
25- function BuildRequestJSON : String; override;
26- end ;
27-
2820 { TTestableGetPaymentRequest }
2921
3022 TTestableGetPaymentRequest = class (TYookassaGetPaymentRequest)
3123 private
3224 class var FTestRaw: TJSONObject;
3325 protected
3426 function DoExecute : String; override;
35- function BuildRequestJSON : string; override;
3627 function CreateResponse (aRaw: TJSONObject): TYookassaResponse; override;
3728 class property TestRaw: TJSONObject read FTestRaw write FTestRaw;
3829 end ;
@@ -88,21 +79,9 @@ implementation
8879
8980{ TTestableCreatePayment }
9081
91- function TTestableCreatePayment.BuildRequestJSON : String;
92- begin
93- Result:=inherited BuildRequestJSON;
94- end ;
95-
9682procedure TTestableCreatePayment.TestToJSON ;
9783begin
98- BuildRequestJSON;
99- end ;
100-
101- { TTestableCreateReceiptRequest }
102-
103- function TTestableCreateReceiptRequest.BuildRequestJSON : String;
104- begin
105- Result:=inherited BuildRequestJSON;
84+ ToJSON.Free;
10685end ;
10786
10887{ TTestableGetPaymentRequest }
@@ -114,11 +93,6 @@ function TTestableGetPaymentRequest.DoExecute: String;
11493 Result:=FTestRaw.AsJSON;
11594end ;
11695
117- function TTestableGetPaymentRequest.BuildRequestJSON : string;
118- begin
119- Result:=inherited BuildRequestJSON;
120- end ;
121-
12296function TTestableGetPaymentRequest.CreateResponse (aRaw: TJSONObject): TYookassaResponse;
12397begin
12498 Result:=inherited CreateResponse(aRaw);
@@ -186,10 +160,16 @@ procedure TTestYooKassa.TearDown;
186160
187161procedure TTestYooKassa.TestBuildRequestData ;
188162var
189- aJSON: String;
163+ o: TJSONObject;
164+ aJSON: TJSONStringType;
190165begin
191166 FillPaymentData(FPaymentRequest);
192- aJSON := FPaymentRequest.BuildRequestJSON;
167+ o := FPaymentRequest.ToJSON;
168+ try
169+ aJSON:=o.AsJSON;
170+ finally
171+ o.Free;
172+ end ;
193173 AssertTrue(Pos(' "amount"' , aJSON) > 0 );
194174 AssertTrue(Pos(' "value" : "123.45"' , aJSON) > 0 );
195175end ;
@@ -202,10 +182,16 @@ procedure TTestYooKassa.TestCreatePaymentStatic;
202182procedure TTestYooKassa.TestGetPaymentRequest_BuildRequestJSON ;
203183var
204184 aReq: TTestableGetPaymentRequest;
185+ o: TJSONObject;
205186begin
206187 aReq := TTestableGetPaymentRequest.Create;
207188 try
208- AssertEquals(' GET request should have no body' , ' ' , aReq.BuildRequestJSON);
189+ o:=aReq.ToJSON;
190+ try
191+ AssertNull(' GET request should have no body' , o);
192+ finally
193+ o.Free;
194+ end ;
209195 finally
210196 aReq.Free;
211197 end ;
@@ -435,43 +421,39 @@ procedure TTestYooKassa.TestReceiptWithTaxSystemCodeToJSON;
435421
436422procedure TTestYooKassa.TestReceiptRequestBuildJSON ;
437423var
438- aJSON: String;
439- aParsedJSON: TJSONObject;
424+ aJSON: TJSONObject;
440425begin
441426 AddProductToReceipt(FReceiptRequest.Receipt, ' Тестовый товар' , 1 );
442427
443428 FReceiptRequest.ReceiptType := ' payment' ;
444429 FReceiptRequest.Send := True;
445430
446- aJSON := FReceiptRequest.BuildRequestJSON;
447- aParsedJSON := TJSONObject(GetJSON(aJSON));
431+ aJSON := FReceiptRequest.ToJSON;
448432 try
449- AssertEquals(' payment' , aParsedJSON .Strings[' type' ]);
450- AssertEquals(True, aParsedJSON .Booleans[' send' ]);
433+ AssertEquals(' payment' , aJSON .Strings[' type' ]);
434+ AssertEquals(True, aJSON .Booleans[' send' ]);
451435 finally
452- aParsedJSON .Free;
436+ aJSON .Free;
453437 end ;
454438end ;
455439
456440procedure TTestYooKassa.TestReceiptRequestBuildRefundJSON ;
457441var
458- aJSON: String;
459- aParsedJSON: TJSONObject;
442+ aJSON: TJSONObject;
460443begin
461444 AddProductToReceipt(FReceiptRequest.Receipt, ' Возврат товара' , 2 );
462445
463446 FReceiptRequest.ReceiptType := ' refund' ;
464447 FReceiptRequest.PaymentId := ' payment_123456' ;
465448 FReceiptRequest.Send := False;
466449
467- aJSON := FReceiptRequest.BuildRequestJSON;
468- aParsedJSON := TJSONObject(GetJSON(aJSON));
450+ aJSON := FReceiptRequest.ToJSON;
469451 try
470- AssertEquals(' refund' , aParsedJSON .Strings[' type' ]);
471- AssertEquals(False, aParsedJSON .Booleans[' send' ]);
472- AssertEquals(' payment_123456' , aParsedJSON .Strings[' payment_id' ]);
452+ AssertEquals(' refund' , aJSON .Strings[' type' ]);
453+ AssertEquals(False, aJSON .Booleans[' send' ]);
454+ AssertEquals(' payment_123456' , aJSON .Strings[' payment_id' ]);
473455 finally
474- aParsedJSON .Free;
456+ aJSON .Free;
475457 end ;
476458end ;
477459
@@ -528,7 +510,7 @@ procedure TTestYooKassa.TestReceiver_BankAccount_ToJSON;
528510 aPayment.Receiver.AccountNumber := ' 12345678901234567890' ;
529511 aPayment.Receiver.Bic := ' 044525225' ;
530512
531- aJSON := TJSONObject(GetJSON( aPayment.BuildRequestJSON)) ;
513+ aJSON := aPayment.ToJSON ;
532514 try
533515 AssertTrue(' receiver must be in JSON' , Assigned(aJSON.Find(' receiver' )));
534516 aReceiver := aJSON.Objects[' receiver' ];
@@ -554,7 +536,7 @@ procedure TTestYooKassa.TestReceiver_MobileBalance_ToJSON;
554536 aPayment.Receiver.ReceiverType := rtMobileBalance;
555537 aPayment.Receiver.Phone := ' 79001234567' ;
556538
557- aJSON := TJSONObject(GetJSON( aPayment.BuildRequestJSON)) ;
539+ aJSON := aPayment.ToJSON ;
558540 try
559541 AssertTrue(' receiver must be in JSON' , Assigned(aJSON.Find(' receiver' )));
560542 aReceiver := aJSON.Objects[' receiver' ];
@@ -581,7 +563,7 @@ procedure TTestYooKassa.TestReceiver_DigitalWallet_ToJSON;
581563 aPayment.Receiver.ReceiverType := rtDigitalWallet;
582564 aPayment.Receiver.AccountNumber := ' W1234567890' ;
583565
584- aJSON := TJSONObject(GetJSON( aPayment.BuildRequestJSON)) ;
566+ aJSON := aPayment.ToJSON ;
585567 try
586568 AssertTrue(' receiver must be in JSON' , Assigned(aJSON.Find(' receiver' )));
587569 aReceiver := aJSON.Objects[' receiver' ];
@@ -645,7 +627,7 @@ procedure TTestYooKassa.TestSettlements_ToJSON;
645627
646628 AddProductToReceipt(aReceiptReq.Receipt, ' Некий продукт' );
647629
648- aJSON := TJSONObject(GetJSON( aReceiptReq.BuildRequestJSON)) ;
630+ aJSON := aReceiptReq.ToJSON ;
649631 try
650632 AssertTrue(' Settlements array must be in JSON' , Assigned(aJSON.Find(' settlements' )));
651633 aSettlementsArray := aJSON.Arrays[' settlements' ];
0 commit comments