You are here

public function JobsTest::testAddToJobSingleAsync in TMGMT Translator Smartling 8.3

Same name and namespace in other branches
  1. 8.4 tests/src/Functional/JobsTest.php \Drupal\Tests\tmgmt_smartling\Functional\JobsTest::testAddToJobSingleAsync()

Add to job form, async mode: single job.

File

tests/src/Functional/JobsTest.php, line 751

Class

JobsTest
Jobs tests.

Namespace

Drupal\Tests\tmgmt_smartling\Functional

Code

public function testAddToJobSingleAsync() {
  if (!empty($this->smartlingPluginProviderSettings)) {
    if (!empty($this->smartlingPluginProviderSettings)) {
      $this
        ->drupalPostForm('/admin/tmgmt/translators/manage/smartling', [
        'settings[async_mode]' => TRUE,
      ], t('Save'));
    }
    $this
      ->drupalPostForm('/admin/tmgmt/sources', [
      'items[1]' => 1,
    ], t('Request translation'));
    $this
      ->drupalPostForm(NULL, [
      'target_language' => 'de',
      'settings[switcher]' => TMGMT_SMARTLING_ADD_TO_JOB,
      'settings[add_to_job_tab][container][job_info][due_date][date]' => '2020-12-12',
      'settings[add_to_job_tab][container][job_info][due_date][time]' => '12:12',
      'settings[add_to_job_tab][container][job_info][authorize]' => TRUE,
      'settings[smartling_users_time_zone]' => 'Europe/Kiev',
    ], t('Submit to provider'));
    $job = Job::load(1);
    $this
      ->drupalGet('/admin/reports/dblog');
    $this
      ->assertNoText(t('Smartling created a job'));
    $this
      ->assertUniqueText(t('Smartling updated a job'));
    $this
      ->assertUniqueText(t('Smartling created a batch'));
    $this
      ->assertNoText(t('File uploaded. Job id: @job_id, file name: @filename.', [
      '@job_id' => $job
        ->id(),
      '@filename' => $job
        ->getTranslatorPlugin()
        ->getFileName($job),
    ]));
    $this
      ->assertNoText(t('Fallback: File uploaded. Job id: @job_id, file name: @filename.', [
      '@job_id' => $job
        ->id(),
      '@filename' => $job
        ->getTranslatorPlugin()
        ->getFileName($job),
    ]));
    $this
      ->assertNoText(t('Smartling executed a batch'));
    $this
      ->assertTrue($this
      ->getCountOfItemsInQueue('tmgmt_extension_suit_upload') == 1);
    $this
      ->assertTrue($this
      ->getCountOfItemsInQueue('smartling_context_upload') == 0);
    $this
      ->processQueue('tmgmt_extension_suit_upload');
    $this
      ->drupalGet('/admin/reports/dblog');
    $this
      ->assertNoText(t('Smartling created a job'));
    $this
      ->assertUniqueText(t('Smartling updated a job'));
    $this
      ->assertUniqueText(t('Smartling created a batch'));
    $this
      ->assertUniqueText(t('File uploaded. Job id: @job_id, file name: @filename.', [
      '@job_id' => $job
        ->id(),
      '@filename' => $job
        ->getTranslatorPlugin()
        ->getFileName($job),
    ]));
    $this
      ->assertNoText(t('Fallback: File uploaded. Job id: @job_id, file name: @filename.', [
      '@job_id' => $job
        ->id(),
      '@filename' => $job
        ->getTranslatorPlugin()
        ->getFileName($job),
    ]));
    $this
      ->assertUniqueText(t('Smartling executed a batch'));
    $this
      ->assertTrue($this
      ->getCountOfItemsInQueue('tmgmt_extension_suit_upload') == 0);
    $this
      ->assertTrue($this
      ->getCountOfItemsInQueue('smartling_context_upload') == 1);
  }
  else {
    $this
      ->fail("Smartling settings file for simpletests not found.");
  }
}