private function StripeTest::verifyPaymentResult in Webform CiviCRM Integration 8.5
Verify Payment values.
1 call to StripeTest::verifyPaymentResult()
- StripeTest::testSubmitContribution in tests/
src/ FunctionalJavascript/ StripeTest.php - Test webform submission using stripe processor. Verifies the payment with 1 contribution and 2 line item amounts.
File
- tests/
src/ FunctionalJavascript/ StripeTest.php, line 133
Class
- StripeTest
- Tests submitting a Webform with CiviCRM: Contribution with Line Items
Namespace
Drupal\Tests\webform_civicrm\FunctionalJavascriptCode
private function verifyPaymentResult() {
$api_result = $this->utils
->wf_civicrm_api('contribution', 'get', []);
$this
->assertEquals(1, $api_result['count']);
$contribution = reset($api_result['values']);
$this
->assertNotEmpty($contribution['trxn_id']);
$this
->assertEquals($this->webform
->label(), $contribution['contribution_source']);
$this
->assertEquals('Donation', $contribution['financial_type']);
$this
->assertEquals('59.50', $contribution['total_amount']);
$this
->assertEquals('Completed', $contribution['contribution_status']);
$this
->assertEquals('USD', $contribution['currency']);
$creditCardID = $this->utils
->wf_civicrm_api('OptionValue', 'getvalue', [
'return' => "value",
'label' => "Credit Card",
'option_group_id' => "payment_instrument",
]);
$this
->assertEquals($creditCardID, $contribution['payment_instrument_id']);
$lineItems = $this->utils
->wf_civicrm_api('line_item', 'get', [
'sequential' => 1,
])['values'];
$lineTotals = array_column($lineItems, 'line_total');
$expectedLineTotals = [
'10.00',
'20.00',
'29.50',
];
$this
->assertEquals($expectedLineTotals, $lineTotals);
$financialTypeIds = array_column($lineItems, 'financial_type_id');
$expectedFTIds = [
'1',
'1',
'2',
];
$this
->assertEquals($expectedFTIds, $financialTypeIds);
$this
->assertEquals($contribution['total_amount'], array_sum($lineTotals));
}