public function UploadFlowTest::testRequestTranslationSuccessFlowExecute in TMGMT Translator Smartling 8.4
Same name and namespace in other branches
- 8.3 tests/src/Kernel/UploadFlowTest.php \Drupal\Tests\tmgmt_smartling\Kernel\UploadFlowTest::testRequestTranslationSuccessFlowExecute()
Upload success flow with batch execution.
File
- tests/
src/ Kernel/ UploadFlowTest.php, line 40
Class
- UploadFlowTest
- Tests file upload flow.
Namespace
Drupal\Tests\tmgmt_smartling\KernelCode
public function testRequestTranslationSuccessFlowExecute() {
$translate_job = $this
->createJobWithItems([
'batch_uid' => 'uid',
'batch_execute_on_job' => 1,
]);
$this->translationRequestManagerMock
->expects($this
->once())
->method('upsertTranslationRequest')
->with($translate_job)
->willReturn([
'translationRequestUid' => 'test',
]);
$this->translationRequestManagerMock
->expects($this
->never())
->method('commitError');
$this->apiWrapperMock
->expects($this
->once())
->method('getApi')
->with('batch')
->willReturn($this->batchApiMock);
$this->apiWrapperMock
->expects($this
->once())
->method('createAuditLogRecord')
->with($translate_job, NULL, \Drupal::currentUser(), CreateRecordParameters::ACTION_TYPE_UPLOAD);
$this->batchApiMock
->expects($this
->once())
->method('uploadBatchFile')
->with('public://tmgmt_sources/JobID1_en_de.xml', 'JobID1_en_de.xml', 'xml', 'uid', $this
->callback([
$this,
'assertUploadParameters',
]));
$this->apiWrapperMock
->expects($this
->once())
->method('executeBatch')
->with('uid');
$this->translationRequestManagerMock
->expects($this
->once())
->method('commitSuccessfulUpload')
->with($translate_job)
->willReturn(FALSE);
$this->apiWrapperMock
->expects($this
->at(2))
->method('createFirebaseRecord')
->with('tmgmt_smartling', 'notifications', 10, [
"message" => 'File uploaded. Job id: 1, file name: JobID1_en_de.xml.',
"type" => "status",
]);
$this->apiWrapperMock
->expects($this
->at(4))
->method('createFirebaseRecord')
->with('tmgmt_smartling', 'notifications', 10, [
"message" => "Finished: content is in the job. You may need to wait a few seconds before content is authorized (if you checked 'authorize' checkbox).",
"type" => "status",
]);
$this->apiWrapperMock
->expects($this
->at(5))
->method('createFirebaseRecord')
->with('tmgmt_smartling', 'notifications', 10, [
"message" => "Can't update submitted date for translation request. See logs for more info.",
"type" => "warning",
]);
$translate_job
->requestTranslation();
}