protected function EasyBreabcrumbConfigureTest::doUpdateTest in Easy Breadcrumb 2.x
Same name and namespace in other branches
- 8 tests/src/Functional/EasyBreabcrumbConfigureTest.php \Drupal\Tests\easy_email\Functional\EasyBreabcrumbConfigureTest::doUpdateTest()
Tests easy_breadcrumb_update_8006().
Calls the update method manually on a fixture.
Parameters
string $fixture: Path to fixture.
2 calls to EasyBreabcrumbConfigureTest::doUpdateTest()
- EasyBreabcrumbConfigureTest::test8006AfterFormSaveConfigurationUpdate in tests/
src/ Functional/ EasyBreabcrumbConfigureTest.php - Tests easy_breadcrumb_update_8006() on config that has been saved via form.
- EasyBreabcrumbConfigureTest::test8006DefaultConfigurationUpdate in tests/
src/ Functional/ EasyBreabcrumbConfigureTest.php - Tests easy_breadcrumb_update_8006() on default install config.
File
- tests/
src/ Functional/ EasyBreabcrumbConfigureTest.php, line 67
Class
- EasyBreabcrumbConfigureTest
- Tests configuring easy_breadcrumb.
Namespace
Drupal\Tests\easy_email\FunctionalCode
protected function doUpdateTest($fixture) {
$assert = $this
->assertSession();
module_load_install('easy_breadcrumb');
// Reset the configuration to pre 8006 values. Directly write to the
// database to avoid schema checking.
$pre8006_install_configuration = Yaml::decode(file_get_contents($fixture));
\Drupal::database()
->update('config')
->fields([
'data' => serialize($pre8006_install_configuration),
])
->condition('name', 'easy_breadcrumb.settings')
->condition('collection', '')
->execute();
// Run the update.
easy_breadcrumb_update_8006();
$this
->refreshVariables();
$config_after_update = $this
->config('easy_breadcrumb.settings')
->get();
$this
->assertArrayNotHasKey('dependencies', $config_after_update);
$this
->assertArrayNotHasKey('add_structured_data_jsonld', $config_after_update);
$this
->assertArrayHasKey(EasyBreadcrumbConstants::ADD_STRUCTURED_DATA_JSON_LD, $config_after_update);
$this
->assertArrayHasKey(EasyBreadcrumbConstants::CAPITALIZATOR_FORCED_WORDS, $config_after_update);
$this
->assertArrayHasKey(EasyBreadcrumbConstants::INCLUDE_INVALID_PATHS, $config_after_update);
$this
->assertArrayHasKey(EasyBreadcrumbConstants::EXCLUDED_PATHS, $config_after_update);
$this
->assertArrayHasKey(EasyBreadcrumbConstants::REPLACED_TITLES, $config_after_update);
$this
->assertArrayHasKey(EasyBreadcrumbConstants::CUSTOM_PATHS, $config_after_update);
$this
->assertArrayHasKey(EasyBreadcrumbConstants::TITLE_SEGMENT_AS_LINK, $config_after_update);
// Ensure that 'capitalizator_ignored_words' and
// 'capitalizator_forced_words' are lists and not maps.
$this
->assertSame(array_keys($config_after_update[EasyBreadcrumbConstants::CAPITALIZATOR_IGNORED_WORDS]), array_keys(array_values($config_after_update[EasyBreadcrumbConstants::CAPITALIZATOR_IGNORED_WORDS])));
$this
->assertSame(array_keys($config_after_update[EasyBreadcrumbConstants::CAPITALIZATOR_FORCED_WORDS]), array_keys(array_values($config_after_update[EasyBreadcrumbConstants::CAPITALIZATOR_FORCED_WORDS])));
// Easy configuration is not changed by visiting configuration form.
$this
->drupalLogin($this
->createUser([
'administer easy breadcrumb',
]));
$this
->drupalGet('admin/config/user-interface/easy-breadcrumb');
$assert
->statusCodeEquals(200);
$this
->submitForm([], 'Save configuration');
$assert
->statusCodeEquals(200);
$assert
->pageTextContainsOnce('The configuration options have been saved.');
$this
->assertSame($config_after_update, $this
->config('easy_breadcrumb.settings')
->get());
}