public function LingotekConfigBulkProfileTest::testChangeTranslationProfileBulk in Lingotek Translation 3.8.x
Same name and namespace in other branches
- 8.2 tests/src/Functional/LingotekConfigBulkProfileTest.php \Drupal\Tests\lingotek\Functional\LingotekConfigBulkProfileTest::testChangeTranslationProfileBulk()
- 4.0.x tests/src/Functional/LingotekConfigBulkProfileTest.php \Drupal\Tests\lingotek\Functional\LingotekConfigBulkProfileTest::testChangeTranslationProfileBulk()
- 3.0.x tests/src/Functional/LingotekConfigBulkProfileTest.php \Drupal\Tests\lingotek\Functional\LingotekConfigBulkProfileTest::testChangeTranslationProfileBulk()
- 3.1.x tests/src/Functional/LingotekConfigBulkProfileTest.php \Drupal\Tests\lingotek\Functional\LingotekConfigBulkProfileTest::testChangeTranslationProfileBulk()
- 3.2.x tests/src/Functional/LingotekConfigBulkProfileTest.php \Drupal\Tests\lingotek\Functional\LingotekConfigBulkProfileTest::testChangeTranslationProfileBulk()
- 3.3.x tests/src/Functional/LingotekConfigBulkProfileTest.php \Drupal\Tests\lingotek\Functional\LingotekConfigBulkProfileTest::testChangeTranslationProfileBulk()
- 3.4.x tests/src/Functional/LingotekConfigBulkProfileTest.php \Drupal\Tests\lingotek\Functional\LingotekConfigBulkProfileTest::testChangeTranslationProfileBulk()
- 3.5.x tests/src/Functional/LingotekConfigBulkProfileTest.php \Drupal\Tests\lingotek\Functional\LingotekConfigBulkProfileTest::testChangeTranslationProfileBulk()
- 3.6.x tests/src/Functional/LingotekConfigBulkProfileTest.php \Drupal\Tests\lingotek\Functional\LingotekConfigBulkProfileTest::testChangeTranslationProfileBulk()
- 3.7.x tests/src/Functional/LingotekConfigBulkProfileTest.php \Drupal\Tests\lingotek\Functional\LingotekConfigBulkProfileTest::testChangeTranslationProfileBulk()
Tests that the translation profiles can be updated with the bulk actions.
File
- tests/
src/ Functional/ LingotekConfigBulkProfileTest.php, line 32
Class
- LingotekConfigBulkProfileTest
- Tests changing a profile using the bulk management form.
Namespace
Drupal\Tests\lingotek\FunctionalCode
public function testChangeTranslationProfileBulk() {
// This is a hack for avoiding writing different lingotek endpoint mocks.
\Drupal::state()
->set('lingotek.uploaded_content_type', 'system.site');
// Login as admin.
$this
->drupalLogin($this->rootUser);
// Go to the bulk config management page.
$this
->goToConfigBulkManagementForm();
$basepath = \Drupal::request()
->getBasePath();
$edit = [
'table[system.site_information_settings]' => TRUE,
$this
->getBulkOperationFormName() => 'change_profile:automatic',
];
$this
->drupalPostForm(NULL, $edit, $this
->getApplyActionsButtonLabel());
// Check that there are three nodes with the Automatic Profile
$automatic_profile = $this
->xpath("//td[contains(text(), 'Automatic')]");
$this
->assertEqual(count($automatic_profile), 1, 'Automatic Profile set');
$edit = [
'table[system.site_information_settings]' => TRUE,
$this
->getBulkOperationFormName() => 'change_profile:manual',
];
$this
->drupalPostForm(NULL, $edit, $this
->getApplyActionsButtonLabel());
// Check that there is one node with the Manual Profile
// Check that there are two nodes with the Automatic Profile
$manual_profile = $this
->xpath("//td[contains(text(), 'Manual')]");
$this
->assertEqual(count($manual_profile), 1, 'Manual Profile set');
$this
->clickLink('EN', 1);
$edit = [
'table[system.site_information_settings]' => TRUE,
$this
->getBulkOperationFormName() => 'change_profile:disabled',
];
$this
->drupalPostForm(NULL, $edit, $this
->getApplyActionsButtonLabel());
// Check that there are three nodes with the Disabled Profile
$disabled_profile = $this
->xpath("//td[contains(text(), 'Disabled')]");
$this
->assertEqual(count($disabled_profile), 1, 'Disabled Profile set');
/** @var \Drupal\lingotek\LingotekConfigTranslationServiceInterface $config_translation_service */
$config_translation_service = \Drupal::service('lingotek.config_translation');
$mappers = \Drupal::service('plugin.manager.config_translation.mapper')
->getMappers();
$mapper = $mappers['system.site_information_settings'];
// Go to the bulk config management page.
$this
->goToConfigBulkManagementForm();
drupal_static_reset();
\Drupal::entityTypeManager()
->clearCachedDefinitions();
$this
->applyEntityUpdates();
// Rebuild the container so that the new languages are picked up by services
// that hold a list of languages.
$this
->rebuildContainer();
$this
->assertIdentical(Lingotek::STATUS_DISABLED, $config_translation_service
->getConfigSourceStatus($mapper));
$this
->assertIdentical(Lingotek::STATUS_DISABLED, $config_translation_service
->getConfigTargetStatus($mapper, 'es'));
$edit = [
'table[system.site_information_settings]' => TRUE,
$this
->getBulkOperationFormName() => 'upload',
];
$this
->drupalPostForm(NULL, $edit, $this
->getApplyActionsButtonLabel());
$this
->assertIdentical(Lingotek::STATUS_DISABLED, $config_translation_service
->getConfigSourceStatus($mapper));
$this
->assertIdentical(Lingotek::STATUS_DISABLED, $config_translation_service
->getConfigTargetStatus($mapper, 'es'));
$edit = [
'table[system.site_information_settings]' => TRUE,
$this
->getBulkOperationFormName() => 'check_upload',
];
$this
->drupalPostForm(NULL, $edit, $this
->getApplyActionsButtonLabel());
$this
->assertIdentical(Lingotek::STATUS_DISABLED, $config_translation_service
->getConfigSourceStatus($mapper));
$this
->assertIdentical(Lingotek::STATUS_DISABLED, $config_translation_service
->getConfigTargetStatus($mapper, 'es'));
$edit = [
'table[system.site_information_settings]' => TRUE,
$this
->getBulkOperationFormName() => 'request_translations',
];
$this
->drupalPostForm(NULL, $edit, $this
->getApplyActionsButtonLabel());
$this
->assertIdentical(Lingotek::STATUS_DISABLED, $config_translation_service
->getConfigSourceStatus($mapper));
$this
->assertIdentical(Lingotek::STATUS_DISABLED, $config_translation_service
->getConfigTargetStatus($mapper, 'es'));
$edit = [
'table[system.site_information_settings]' => TRUE,
$this
->getBulkOperationFormName() => 'check_translations',
];
$this
->drupalPostForm(NULL, $edit, $this
->getApplyActionsButtonLabel());
$this
->assertIdentical(Lingotek::STATUS_DISABLED, $config_translation_service
->getConfigSourceStatus($mapper));
$this
->assertIdentical(Lingotek::STATUS_DISABLED, $config_translation_service
->getConfigTargetStatus($mapper, 'es'));
$edit = [
'table[system.site_information_settings]' => TRUE,
$this
->getBulkOperationFormName() => 'download:es',
];
$this
->drupalPostForm(NULL, $edit, $this
->getApplyActionsButtonLabel());
$this
->assertIdentical(Lingotek::STATUS_DISABLED, $config_translation_service
->getConfigSourceStatus($mapper));
$this
->assertIdentical(Lingotek::STATUS_DISABLED, $config_translation_service
->getConfigTargetStatus($mapper, 'es'));
$edit = [
'table[system.site_information_settings]' => TRUE,
$this
->getBulkOperationFormName() => 'change_profile:automatic',
];
$this
->drupalPostForm(NULL, $edit, $this
->getApplyActionsButtonLabel());
// Check that there are three nodes with the Automatic Profile
$automatic_profile = $this
->xpath("//td[contains(text(), 'Automatic')]");
$this
->assertEqual(count($automatic_profile), 1, 'Automatic Profile set');
}