Test.php in farmOS 2.x
Same filename in this branch
- 2.x modules/core/quick/tests/modules/farm_quick_test/src/Plugin/QuickForm/Test.php
- 2.x modules/asset/group/tests/modules/farm_group_test/src/Plugin/Log/LogType/Test.php
- 2.x modules/asset/equipment/tests/modules/farm_entity_test/src/Plugin/Log/LogType/Test.php
- 2.x modules/core/entity/tests/modules/farm_entity_test/src/Plugin/Log/LogType/Test.php
- 2.x modules/core/entity/tests/modules/farm_entity_test/src/Plugin/Asset/AssetType/Test.php
- 2.x modules/core/entity/tests/modules/farm_entity_test/src/Plugin/Plan/PlanType/Test.php
Namespace
Drupal\farm_quick_test\Plugin\QuickFormFile
modules/core/quick/tests/modules/farm_quick_test/src/Plugin/QuickForm/Test.phpView source
<?php
namespace Drupal\farm_quick_test\Plugin\QuickForm;
use Drupal\Core\Form\FormStateInterface;
use Drupal\farm_quick\Plugin\QuickForm\QuickFormBase;
use Drupal\farm_quick\Traits\QuickAssetTrait;
use Drupal\farm_quick\Traits\QuickLogTrait;
use Drupal\farm_quick\Traits\QuickQuantityTrait;
use Drupal\farm_quick\Traits\QuickTermTrait;
/**
* Test quick form.
*
* @QuickForm(
* id = "test",
* label = @Translation("Test quick form"),
* description = @Translation("Test quick form description."),
* helpText = @Translation("Test quick form help text."),
* permissions = {
* "create test log",
* }
* )
*/
class Test extends QuickFormBase {
use QuickAssetTrait;
use QuickLogTrait;
use QuickQuantityTrait;
use QuickTermTrait;
/**
* {@inheritdoc}
*/
public function buildForm(array $form, FormStateInterface $form_state, string $id = NULL) {
// Test field.
$form['test'] = [
'#type' => 'number',
'#title' => $this
->t('Test field'),
];
return $form;
}
/**
* {@inheritdoc}
*/
public function submitForm(array &$form, FormStateInterface $form_state) {
// Get the submitted value.
$value = $form_state
->getValue('test');
// Create an asset.
$asset = $this
->createAsset([
'type' => 'test',
'name' => $value,
]);
// Create a log.
$log = $this
->createLog([
'type' => 'test',
'name' => $value,
'quantity' => [
[
'measure' => 'count',
'value' => $value,
'units' => $this
->t('tests'),
],
],
]);
// Create a quantity.
$quantity = $this
->createQuantity([
'measure' => 'count',
'value' => $value,
'units' => $this
->t('tests'),
'label' => $this
->t('test label'),
]);
// Create a term.
$term1 = $this
->createTerm([
'name' => 'test1',
'vocabulary' => 'test',
]);
// Create a term with createOrLoadTerm().
$term2 = $this
->createOrLoadTerm('test2', 'test');
// Load a term with createOrLoadTerm().
$term3 = $this
->createOrLoadTerm('test2', 'test');
// Save entities to form state for automated test review.
$storage = [];
$storage['assets'][] = $asset;
$storage['logs'][] = $log;
$storage['quantities'][] = $quantity;
$storage['terms'][] = $term1;
$storage['terms'][] = $term2;
$storage['terms'][] = $term3;
$form_state
->setStorage($storage);
}
}