You are here

private function ContributionPayLaterTest::verifyResult in Webform CiviCRM Integration 8.5

Check submission results.

1 call to ContributionPayLaterTest::verifyResult()
ContributionPayLaterTest::testSubmitContribution in tests/src/FunctionalJavascript/ContributionPayLaterTest.php

File

tests/src/FunctionalJavascript/ContributionPayLaterTest.php, line 153

Class

ContributionPayLaterTest
Tests submitting a Webform with CiviCRM: Contribution with Pay later

Namespace

Drupal\Tests\webform_civicrm\FunctionalJavascript

Code

private function verifyResult() {
  $cfName = $this->_customGroup['Donation']['name'] . '.' . $this->_customFields['Donation']['name'];
  $contribution = \Civi\Api4\Contribution::get()
    ->addSelect('source', 'total_amount', 'contribution_status_id:label', 'currency', $cfName)
    ->setLimit(1)
    ->execute()
    ->first();
  $this
    ->assertEquals($this->webform
    ->label(), $contribution['source']);
  $this
    ->assertEquals('30.00', $contribution['total_amount']);
  $this
    ->assertEquals('Pending', $contribution['contribution_status_id:label']);
  $this
    ->assertEquals('USD', $contribution['currency']);

  // Check if financial custom field value is pushed to civi.
  $this
    ->assertEquals('Donation for xyz', $contribution[$cfName]);
  $this->utils
    ->wf_civicrm_api('contribution', 'delete', [
    'id' => $contribution['id'],
  ]);
  $address = $this->utils
    ->wf_civicrm_api('Address', 'get', [
    'sequential' => 1,
  ])['values'][0];
  $country = $this->utils
    ->wf_civicrm_api('Country', 'get', [
    'name' => "United Kingdom",
  ]);
  $state = $this->utils
    ->wf_civicrm_api('StateProvince', 'get', [
    'name' => "Newport",
  ]);
  $this
    ->assertEquals($country['id'], $address['country_id']);
  $this
    ->assertEquals($state['id'], $address['state_province_id']);
}