trait FulfillmentTestTrait in Ubercart 8.4
Utility functions for fulfillment test purposes.
This trait can only be used in classes which already use RandomGeneratorTrait. RandomGeneratorTrait is used in all the PHPUnit and Simpletest base classes.
Hierarchy
- trait \Drupal\Tests\uc_fulfillment\Traits\FulfillmentTestTrait
1 file declares its use of FulfillmentTestTrait
- FulfillmentTestBase.php in shipping/
uc_fulfillment/ tests/ src/ Functional/ FulfillmentTestBase.php
File
- shipping/
uc_fulfillment/ tests/ src/ Traits/ FulfillmentTestTrait.php, line 12
Namespace
Drupal\Tests\uc_fulfillment\TraitsView source
trait FulfillmentTestTrait {
/**
* Helper function to fill-in required fields on the shipment page.
*
* Copied in part from UbercartBrowserTestBase::populateCheckoutForm().
*
* @param array $edit
* The form-values array to which to add required fields.
*
* @return array
* The values array ready to pass to the checkout page.
*/
protected function populateShipmentForm(array $edit = []) {
$street = array_flip([
'Street',
'Avenue',
'Place',
'Way',
'Road',
'Boulevard',
'Court',
]);
// Fill in the address details.
foreach ([
'pickup',
'delivery',
] as $pane) {
$prefix = $pane . '_address';
$key = $prefix . '[country]';
$country_id = isset($edit[$key]) ? $edit[$key] : \Drupal::config('uc_store.settings')
->get('address.country');
$country = \Drupal::service('country_manager')
->getCountry($country_id);
$edit += [
$prefix . '[first_name]' => $this
->randomMachineName(6),
$prefix . '[last_name]' => $this
->randomMachineName(12),
$prefix . '[company]' => $this
->randomMachineName(10) . ', Inc.',
$prefix . '[street1]' => mt_rand(10, 1000) . ' ' . $this
->randomMachineName(10) . ' ' . array_rand($street),
$prefix . '[street2]' => 'Suite ' . mt_rand(100, 999),
$prefix . '[city]' => $this
->randomMachineName(10),
$prefix . '[postal_code]' => (string) mt_rand(10000, 99999),
$prefix . '[country]' => $country_id,
];
// Don't try to set the zone unless the store country has zones!
if (!empty($country
->getZones())) {
$edit += [
$prefix . '[zone]' => array_rand($country
->getZones()),
];
}
}
// Fill in the shipping details.
$edit += [
'packages[1][pkg_type]' => 'envelope',
'packages[1][declared_value]' => '1234.56',
'packages[1][tracking_number]' => '4-8-15-16-23-42',
'packages[1][weight][weight]' => '3',
'packages[1][weight][units]' => array_rand(array_flip([
'lb',
'kg',
'oz',
'g',
])),
'packages[1][dimensions][length]' => '1',
'packages[1][dimensions][width]' => '1',
'packages[1][dimensions][height]' => '1',
'packages[1][dimensions][length]' => '1',
'packages[1][dimensions][units]' => array_rand(array_flip([
'in',
'ft',
'cm',
'mm',
])),
'carrier' => 'FedEx',
'accessorials' => 'Standard Overnight',
'transaction_id' => 'THX1138',
'tracking_number' => '1234567890ABCD',
'ship_date[date]' => '1985-10-26',
'expected_delivery[date]' => '2015-10-21',
'cost' => '12.34',
];
return $edit;
}
}
Members
Name![]() |
Modifiers | Type | Description | Overrides |
---|---|---|---|---|
FulfillmentTestTrait:: |
protected | function | Helper function to fill-in required fields on the shipment page. |