BaseFlowTest.php in TMGMT Translator Smartling 8.2
File
src/Tests/BaseFlowTest.php
View source
<?php
namespace Drupal\tmgmt_smartling\Tests;
class BaseFlowTest extends SmartlingTestBase {
public function testUploadFileAndDownloadTranslation() {
if (!empty($this->smartlingPluginProviderSettings)) {
$translator = $this
->setUpSmartlingProviderSettings($this->smartlingPluginProviderSettings);
$job = $this
->requestTranslationForNode($this->testNodeId, $this->targetLanguage, $translator);
$fileName = $job
->getTranslatorPlugin()
->getFileName($job);
$this
->checkGeneratedFile($fileName, $this->testNodeTitle);
$this
->drupalGet("{$this->targetLanguage}/node/{$this->testNodeId}");
$this
->assertResponse(200);
$this
->assertText($this->testNodeTitle);
$this
->downloadAndCheckTranslatedFile($job
->id(), $fileName);
$this
->drupalGet("{$this->targetLanguage}/node/{$this->testNodeId}");
$this
->assertResponse(200);
$this
->assertNoText($this->testNodeTitle);
$this
->deleteTestFile($fileName);
}
else {
$this
->fail("Smartling settings file for simpletests not found.");
}
}
public function testUploadXmlChangeToXlfDownloadXml() {
if (!empty($this->smartlingPluginProviderSettings)) {
$translator = $this
->setUpSmartlingProviderSettings($this->smartlingPluginProviderSettings);
$job = $this
->requestTranslationForNode($this->testNodeId, $this->targetLanguage, $translator);
$fileName = $job
->getTranslatorPlugin()
->getFileName($job);
$this
->checkGeneratedFile($fileName, $this->testNodeTitle);
$this
->drupalGet("{$this->targetLanguage}/node/{$this->testNodeId}");
$this
->assertResponse(200);
$this
->assertText($this->testNodeTitle);
$translator
->setSetting('export_format', 'xlf');
$translator
->save();
$this
->downloadAndCheckTranslatedFile($job
->id(), $fileName);
$this
->drupalGet("{$this->targetLanguage}/node/{$this->testNodeId}");
$this
->assertResponse(200);
$this
->assertNoText($this->testNodeTitle);
$this
->deleteTestFile($fileName);
}
else {
$this
->fail("Smartling settings file for simpletests not found.");
}
}
public function testUploadXlfChangeToXmlDownloadXlf() {
if (!empty($this->smartlingPluginProviderSettings)) {
$providerSettings = $this->smartlingPluginProviderSettings;
$providerSettings['settings[export_format]'] = 'xlf';
$translator = $this
->setUpSmartlingProviderSettings($providerSettings);
$job = $this
->requestTranslationForNode($this->testNodeId, $this->targetLanguage, $translator);
$fileName = $job
->getTranslatorPlugin()
->getFileName($job);
$this
->checkGeneratedFile($fileName, $this->testNodeTitle);
$this
->drupalGet("{$this->targetLanguage}/node/{$this->testNodeId}");
$this
->assertResponse(200);
$this
->assertText($this->testNodeTitle);
$translator
->setSetting('export_format', 'xml');
$translator
->save();
$this
->downloadAndCheckTranslatedFile($job
->id(), $fileName);
$this
->drupalGet("{$this->targetLanguage}/node/{$this->testNodeId}");
$this
->assertResponse(200);
$this
->assertNoText($this->testNodeTitle);
$this
->deleteTestFile($fileName);
}
else {
$this
->fail("Smartling settings file for simpletests not found.");
}
}
public function testRevisionInflation() {
if (!empty($this->smartlingPluginProviderSettings)) {
$providerSettings = $this->smartlingPluginProviderSettings;
$translator = $this
->setUpSmartlingProviderSettings($providerSettings);
$job = $this
->requestTranslationForNode($this->testNodeId, $this->targetLanguage, $translator);
$this
->drupalGet("/admin/tmgmt/jobs/1");
$this
->assertResponse(200);
$this
->assertNoText("has been accepted as");
$this
->assertNoText("Import of downloaded file was skipped: downloaded and existing translations are equal.");
$job
->getTranslatorPlugin()
->downloadTranslation($job);
$this
->drupalGet("/admin/tmgmt/jobs/1");
$this
->assertResponse(200);
$this
->assertText("has been accepted as");
$this
->assertNoText("Import of downloaded file was skipped: downloaded and existing translations are equal.");
$job
->getTranslatorPlugin()
->downloadTranslation($job);
$this
->drupalGet("/admin/tmgmt/jobs/1");
$this
->assertResponse(200);
$this
->assertText("Import of downloaded file was skipped: downloaded and existing translations are equal.");
$this
->deleteTestFile($job
->getTranslatorPlugin()
->getFileName($job));
}
else {
$this
->fail("Smartling settings file for simpletests not found.");
}
}
}