Test Continuous jobs support in the local translator.
@group tmgmt
Expanded class hierarchy of LocalTranslatorContinuousTest
class LocalTranslatorContinuousTest extends LocalTranslatorTestBase {
/**
* Modules to enable.
*
* @var array
*/
protected static $modules = array(
'tmgmt_content',
);
/**
* Test continuous Jobs in TMGMT local.
*/
public function testContinuousJobs() {
$type = $this
->drupalCreateContentType();
// Enable entity translations for nodes.
$content_translation_manager = \Drupal::service('content_translation.manager');
$content_translation_manager
->setEnabled('node', $type
->label(), TRUE);
$this->assignee = $this
->drupalCreateUser($this->localTranslatorPermissions);
$this
->drupalLogin($this->assignee);
$this
->drupalGet($this->assignee
->toUrl('edit-form'));
$edit = array(
'tmgmt_translation_skills[0][language_from]' => 'en',
'tmgmt_translation_skills[0][language_to]' => 'de',
);
$this
->submitForm($edit, 'Save');
$this
->loginAsAdmin($this->localManagerPermissions);
// Test continuous integration.
$this
->config('tmgmt.settings')
->set('submit_job_item_on_cron', TRUE)
->save();
// Continuous settings configuration.
$continuous_settings = [
'content' => [
'node' => [
'enabled' => 1,
'bundles' => [
$type
->id() => 1,
],
],
],
];
$translator = $this
->createTranslator([
'plugin' => 'local',
]);
$continuous_job = $this
->createJob('en', 'de', 0, [
'label' => 'Continuous job',
'job_type' => Job::TYPE_CONTINUOUS,
'translator' => $translator,
'continuous_settings' => $continuous_settings,
]);
$continuous_job
->save();
// Create an english node.
$node = Node::create([
'title' => $this
->randomMachineName(),
'uid' => 0,
'type' => $type
->id(),
'langcode' => 'en',
]);
$node
->save();
$continuous_job_items = $continuous_job
->getItems();
$this
->assertCount(1, $continuous_job_items);
$continuous_job_item = reset($continuous_job_items);
$this
->assertTrue($continuous_job_item
->getState() == JobItemInterface::STATE_INACTIVE);
tmgmt_cron();
$this
->drupalGet('translate');
$this
->clickLink('View');
// Assign to user.
$edit = array(
'tuid' => $this->assignee
->id(),
);
$this
->submitForm($edit, 'Save task');
$this
->drupalLogin($this->assignee);
$this
->drupalGet('translate');
$this
->clickLink('View');
$this
->clickLink('Translate');
$edit = array(
'title|0|value[translation]' => 'Text für Job Element mit Typ-Knoten und ID 1.',
);
$this
->submitForm($edit, 'Save as completed');
$items = $continuous_job
->getItems();
$item = reset($items);
// Check is set to need review.
$data = $item
->getData();
$this
->assertEquals('Text für Job Element mit Typ-Knoten und ID 1.', $data['title']['0']['value']['#translation']['#text']);
$this
->assertTrue($continuous_job
->getState() == Job::STATE_CONTINUOUS);
$this
->assertTrue($item
->getState() == JobItemInterface::STATE_REVIEW);
}
}
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
LocalTranslatorContinuousTest:: |
protected static | property |
Modules to enable. Overrides LocalTranslatorTestBase:: |
|
LocalTranslatorContinuousTest:: |
public | function | Test continuous Jobs in TMGMT local. | |
LocalTranslatorTestBase:: |
protected | property | Translator user. | |
LocalTranslatorTestBase:: |
protected | property | ||
LocalTranslatorTestBase:: |
protected | property | ||
LocalTranslatorTestBase:: |
protected | function | Asserts the task item progress bar. | |
LocalTranslatorTestBase:: |
protected | function | Asserts task item status icon. | |
LocalTranslatorTestBase:: |
protected | function | Asserts the task progress bar. | |
LocalTranslatorTestBase:: |
protected | function | Asserts task status icon. | |
LocalTranslatorTestBase:: |
public | function |
Overrides DrupalWebTestCase::setUp() Overrides TMGMTTestBase:: |
|
TmgmtEntityTestTrait:: |
public | property | ||
TmgmtEntityTestTrait:: |
function | Creates fields of type text and text_with_summary of different cardinality. | ||
TmgmtEntityTestTrait:: |
function | Creates node type with several text fields with different cardinality. | ||
TmgmtEntityTestTrait:: |
function | Creates a taxonomy term of a given vocabulary. | ||
TmgmtEntityTestTrait:: |
function | Creates taxonomy vocabulary with custom fields. | ||
TmgmtEntityTestTrait:: |
protected | function | Creates a node of a given bundle. | |
TMGMTTestBase:: |
protected | property | ||
TMGMTTestBase:: |
protected | property | A default translator using the test translator. | |
TmgmtTestTrait:: |
protected | property | List of permissions used by loginAsAdmin(). | |
TmgmtTestTrait:: |
protected | property | Drupal user object created by loginAsAdmin(). | |
TmgmtTestTrait:: |
protected | property | The language weight for new languages. | |
TmgmtTestTrait:: |
protected | property | List of permissions used by loginAsTranslator(). | |
TmgmtTestTrait:: |
protected | property | Drupal user object created by loginAsTranslator(). | |
TmgmtTestTrait:: |
function | Sets the proper environment. | ||
TmgmtTestTrait:: |
function | Asserts job item language codes. | ||
TmgmtTestTrait:: |
protected | function | Asserts text in the page with an xpath expression. | |
TmgmtTestTrait:: |
function | Clicks on an image link with the provided title attribute. | ||
TmgmtTestTrait:: |
function | Creates, saves and returns a translation job. | ||
TmgmtTestTrait:: |
function | Creates, saves and returns a translator. | ||
TmgmtTestTrait:: |
function | Will create a user with admin permissions and log it in. | ||
TmgmtTestTrait:: |
function | Will create a user with translator permissions and log it in. |