function TMGMTCRUDTestCase::testRemoteMappings in Translation Management Tool 7
File
- tests/
tmgmt.crud.test, line 93
Class
- TMGMTCRUDTestCase
- Basic CRUD tests.
Code
function testRemoteMappings() {
$data_key = '5][test_source][type';
$translator = $this
->createTranslator();
$job = $this
->createJob();
$job->translator = $translator->name;
$job
->save();
$item1 = $job
->addItem('test_source', 'type', 5);
$item2 = $job
->addItem('test_source', 'type', 4);
$mapping_data = array(
'remote_identifier_2' => 'id12',
'remote_identifier_3' => 'id13',
'amount' => 1043,
'currency' => 'EUR',
);
$result = $item1
->addRemoteMapping($data_key, 'id11', $mapping_data);
$this
->assertEqual($result, SAVED_NEW);
$job_mappings = $job
->getRemoteMappings();
$item_mappings = $item1
->getRemoteMappings();
$job_mapping = array_shift($job_mappings);
$item_mapping = array_shift($item_mappings);
$_job = $job_mapping
->getJob();
$this
->assertEqual($job->tjid, $_job->tjid);
$_job = $item_mapping
->getJob();
$this
->assertEqual($job->tjid, $_job->tjid);
$_item1 = $item_mapping
->getJobItem();
$this
->assertEqual($item1->tjiid, $_item1->tjiid);
/**
* @var TMGMTRemoteController $remote_mapping_controller
*/
$remote_mapping_controller = entity_get_controller('tmgmt_remote');
$remote_mappings = $remote_mapping_controller
->loadByRemoteIdentifier('id11', 'id12', 'id13');
$remote_mapping = array_shift($remote_mappings);
$this
->assertEqual($remote_mapping->tjiid, $item1->tjiid);
$this
->assertEqual($remote_mapping->amount, $mapping_data['amount']);
$this
->assertEqual($remote_mapping->currency, $mapping_data['currency']);
$this
->assertEqual(count($remote_mapping_controller
->loadByRemoteIdentifier('id11')), 1);
$this
->assertEqual(count($remote_mapping_controller
->loadByRemoteIdentifier('id11', '')), 0);
$this
->assertEqual(count($remote_mapping_controller
->loadByRemoteIdentifier('id11', NULL, '')), 0);
$this
->assertEqual(count($remote_mapping_controller
->loadByRemoteIdentifier(NULL, NULL, 'id13')), 1);
// Test remote data.
$item_mapping
->addRemoteData('test_data', 'test_value');
entity_save('tmgmt_remote', $item_mapping);
$item_mapping = entity_load_single('tmgmt_remote', $item_mapping->trid);
$this
->assertEqual($item_mapping
->getRemoteData('test_data'), 'test_value');
// Add mapping to the other job item as well.
$item2
->addRemoteMapping($data_key, 'id21', array(
'remote_identifier_2' => 'id22',
'remote_identifier_3' => 'id23',
));
// Test deleting.
// Delete item1.
entity_get_controller('tmgmt_job_item')
->delete(array(
$item1->tjiid,
));
// Test if mapping for item1 has been removed as well.
$this
->assertEqual(count($remote_mapping_controller
->loadByLocalData(NULL, $item1->tjiid)), 0);
// We still should have mapping for item2.
$this
->assertEqual(count($remote_mapping_controller
->loadByLocalData(NULL, $item2->tjiid)), 1);
// Now delete the job and see if remaining mappings were removed as well.
entity_get_controller('tmgmt_job')
->delete(array(
$job->tjid,
));
$this
->assertEqual(count($remote_mapping_controller
->loadByLocalData(NULL, $item2->tjiid)), 0);
}