You are here

public function DateRecurFieldSettingsTest::testSomePartsInFrequency in Recurring Dates Field 8.2

Same name and namespace in other branches
  1. 3.x tests/src/Functional/DateRecurFieldSettingsTest.php \Drupal\Tests\date_recur\Functional\DateRecurFieldSettingsTest::testSomePartsInFrequency()
  2. 3.0.x tests/src/Functional/DateRecurFieldSettingsTest.php \Drupal\Tests\date_recur\Functional\DateRecurFieldSettingsTest::testSomePartsInFrequency()
  3. 3.1.x tests/src/Functional/DateRecurFieldSettingsTest.php \Drupal\Tests\date_recur\Functional\DateRecurFieldSettingsTest::testSomePartsInFrequency()

Tests field config when some parts are enabled for a frequency.

File

tests/src/Functional/DateRecurFieldSettingsTest.php, line 162

Class

DateRecurFieldSettingsTest
Tests date recur field settings form.

Namespace

Drupal\Tests\date_recur\Functional

Code

public function testSomePartsInFrequency() {
  $url = Url::fromRoute('entity.field_config.entity_test_field_edit_form', [
    'bundle' => 'entity_test',
    'field_config' => $this->fieldConfig
      ->id(),
  ]);
  $this
    ->drupalGet($url);
  $page = $this
    ->getSession()
    ->getPage();
  $page
    ->uncheckField('settings[parts][all]');

  // Check the 'some-parts' radio in weekly.
  $this
    ->assertSession()
    ->fieldExists('settings[parts][table][WEEKLY][setting]')
    ->setValue('some-parts');
  $page
    ->checkField('settings[parts][table][WEEKLY][parts][COUNT]');
  $page
    ->checkField('settings[parts][table][WEEKLY][parts][DTSTART]');
  $page
    ->checkField('settings[parts][table][WEEKLY][parts][BYDAY]');
  $page
    ->checkField('settings[parts][table][WEEKLY][parts][BYSETPOS]');
  $this
    ->submitForm([], 'Save settings');
  $this
    ->assertSession()
    ->pageTextContains('Saved foo configuration.');
  $this
    ->assertEquals([
    'all' => FALSE,
    'frequencies' => [
      'SECONDLY' => [],
      'MINUTELY' => [],
      'HOURLY' => [],
      'DAILY' => [],
      'WEEKLY' => [
        'BYDAY',
        'BYSETPOS',
        'COUNT',
        'DTSTART',
      ],
      'MONTHLY' => [],
      'YEARLY' => [],
    ],
  ], $this
    ->getPartSettings());
}