Skip to content
Snippets Groups Projects
Commit 18125a46 authored by catch's avatar catch
Browse files

Issue #3414501 by Spokje, smustgrave: Convert OptionsDynamicValuesApiTest into a Kernel test

parent 2746a72d
No related branches found
No related tags found
27 merge requests!8528Issue #3456871 by Tim Bozeman: Support NULL services,!6278Issue #3187770 by godotislate, smustgrave, catch, quietone: Views Rendered...,!3878Removed unused condition head title for views,!38582585169-10.1.x,!3818Issue #2140179: $entity->original gets stale between updates,!3742Issue #3328429: Create item list field formatter for displaying ordered and unordered lists,!3731Claro: role=button on status report items,!3668Resolve #3347842 "Deprecate the trusted",!3651Issue #3347736: Create new SDC component for Olivero (header-search),!3531Issue #3336994: StringFormatter always displays links to entity even if the user in context does not have access,!3355Issue #3209129: Scrolling problems when adding a block via layout builder,!3226Issue #2987537: Custom menu link entity type should not declare "bundle" entity key,!3154Fixes #2987987 - CSRF token validation broken on routes with optional parameters.,!3133core/modules/system/css/components/hidden.module.css,!2964Issue #2865710 : Dependencies from only one instance of a widget are used in display modes,!2812Issue #3312049: [Followup] Fix Drupal.Commenting.FunctionComment.MissingReturnType returns for NULL,!2378Issue #2875033: Optimize joins and table selection in SQL entity query implementation,!2334Issue #3228209: Add hasRole() method to AccountInterface,!2062Issue #3246454: Add weekly granularity to views date sort,!1105Issue #3025039: New non translatable field on translatable content throws error,!1073issue #3191727: Focus states on mobile second level navigation items fixed,!10223132456: Fix issue where views instances are emptied before an ajax request is complete,!877Issue #2708101: Default value for link text is not saved,!617Issue #3043725: Provide a Entity Handler for user cancelation,!579Issue #2230909: Simple decimals fail to pass validation,!560Move callback classRemove outside of the loop,!555Issue #3202493
Pipeline #80758 canceled
Pipeline: drupal

#80759

    <?php
    namespace Drupal\Tests\options\Functional;
    /**
    * Tests the options allowed values api.
    *
    * @group options
    */
    class OptionsDynamicValuesApiTest extends OptionsDynamicValuesTestBase {
    /**
    * {@inheritdoc}
    */
    protected $defaultTheme = 'stark';
    /**
    * Tests options_allowed_values().
    *
    * @see options_test_dynamic_values_callback()
    */
    public function testOptionsAllowedValues() {
    // Test allowed values without passed $items.
    $values = options_allowed_values($this->fieldStorage);
    $this->assertEquals([], $values);
    $values = options_allowed_values($this->fieldStorage, $this->entity);
    $expected_values = [
    $this->entity->label(),
    $this->entity->toUrl()->toString(),
    $this->entity->uuid(),
    $this->entity->bundle(),
    ];
    $expected_values = array_combine($expected_values, $expected_values);
    $this->assertEquals($expected_values, $values);
    }
    }
    <?php
    namespace Drupal\Tests\options\Kernel;
    use Drupal\Core\Entity\EntityInterface;
    use Drupal\entity_test\Entity\EntityTestRev;
    use Drupal\field\Entity\FieldConfig;
    use Drupal\field\Entity\FieldStorageConfig;
    /**
    * Tests the options allowed values api.
    *
    * @group options
    */
    class OptionsDynamicValuesApiTest extends OptionsFieldUnitTestBase {
    /**
    * {@inheritdoc}
    */
    protected static $modules = [
    'entity_test',
    'options_test',
    'node',
    ];
    /**
    * The created entity.
    */
    protected EntityInterface $entity;
    /**
    * {@inheritdoc}
    */
    protected function setUp(): void {
    parent::setUp();
    $this->installEntitySchema('entity_test_rev');
    $this->installEntitySchema('user');
    $this->installEntitySchema('node');
    $this->fieldStorage = FieldStorageConfig::create([
    'field_name' => 'test_options',
    'entity_type' => 'entity_test_rev',
    'type' => 'list_string',
    'cardinality' => 1,
    'settings' => [
    'allowed_values_function' => 'options_test_dynamic_values_callback',
    ],
    ]);
    $this->fieldStorage->save();
    FieldConfig::create([
    'field_name' => 'test_options',
    'entity_type' => 'entity_test_rev',
    'bundle' => 'entity_test_rev',
    'required' => TRUE,
    ])->save();
    \Drupal::service('entity_display.repository')
    ->getFormDisplay('entity_test_rev', 'entity_test_rev')
    ->setComponent('test_options', [
    'type' => 'options_select',
    ])
    ->save();
    // Create an entity and prepare test data that will be used by
    // options_test_dynamic_values_callback().
    $values = [
    'user_id' => 2,
    'name' => $this->randomMachineName(),
    ];
    $this->entity = EntityTestRev::create($values);
    $this->entity->save();
    }
    /**
    * Tests options_allowed_values().
    *
    * @see options_test_dynamic_values_callback()
    */
    public function testOptionsAllowedValues(): void {
    // Test allowed values without passed $items.
    $values = options_allowed_values($this->fieldStorage);
    $this->assertEquals([], $values);
    $values = options_allowed_values($this->fieldStorage, $this->entity);
    $expected_values = [
    $this->entity->label(),
    $this->entity->toUrl()->toString(),
    $this->entity->uuid(),
    $this->entity->bundle(),
    ];
    $expected_values = array_combine($expected_values, $expected_values);
    $this->assertEquals($expected_values, $values);
    }
    }
    • catch @catch

      mentioned in commit 79b14beb

      ·

      mentioned in commit 79b14beb

      Toggle commit list
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Please register or to comment