protected function ProductTestTrait::createProduct in Ubercart 8.4
Creates a new product.
Parameters
array $product: (optional) An associative array of product fields to change from the defaults, keys are product field names. For example, 'price' => '12.34'.
Return value
\Drupal\node\NodeInterface Product node object.
32 calls to ProductTestTrait::createProduct()
- AjaxTest::testCheckoutAjax in uc_store/
tests/ src/ FunctionalJavascript/ AjaxTest.php - Tests Ajax on the checkout form.
- AjaxTest::testCheckoutPaneAjax in uc_store/
tests/ src/ FunctionalJavascript/ AjaxTest.php - Tests Ajax on the checkout panes.
- AttributeTest::testAttributeAddToCart in uc_attribute/
tests/ src/ Functional/ AttributeTest.php - Tests that product in cart has the selected attribute option.
- AttributeTest::testAttributeApi in uc_attribute/
tests/ src/ Functional/ AttributeTest.php - Tests the basic attribute API.
- AttributeTest::testAttributeUiProductAdjustments in uc_attribute/
tests/ src/ Functional/ AttributeTest.php - Tests the "product adjustments" page.
File
- uc_product/
tests/ src/ Traits/ ProductTestTrait.php, line 26
Class
- ProductTestTrait
- Utility functions to provide products for test purposes.
Namespace
Drupal\Tests\uc_product\TraitsCode
protected function createProduct(array $product = []) {
// Set the default required fields.
$weight_units = [
'lb',
'kg',
'oz',
'g',
];
$length_units = [
'in',
'ft',
'cm',
'mm',
];
$product += [
'type' => 'product',
'model' => $this
->randomMachineName(8),
'cost' => mt_rand(1, 9999),
'price' => mt_rand(1, 9999),
'weight' => [
0 => [
'value' => mt_rand(1, 9999),
'units' => array_rand(array_flip($weight_units)),
],
],
'dimensions' => [
0 => [
'length' => mt_rand(1, 9999),
'width' => mt_rand(1, 9999),
'height' => mt_rand(1, 9999),
'units' => array_rand(array_flip($length_units)),
],
],
'pkg_qty' => mt_rand(1, 99),
'default_qty' => 1,
'shippable' => 1,
];
$product['model'] = [
[
'value' => $product['model'],
],
];
$product['price'] = [
[
'value' => $product['price'],
],
];
return $this
->drupalCreateNode($product);
}