tmgmt_ui_job.test 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. /**
  3. * @file
  4. * Contains TMGMTSharemessageIntegrationTestCase.
  5. */
  6. /**
  7. * Tests integration with the sharemessage module.
  8. */
  9. class TMGMTSharemessageIntegrationTestCase extends TMGMTBaseTestCase {
  10. static function getInfo() {
  11. return array(
  12. 'name' => 'Sharemessage translation',
  13. 'description' => 'Checks entity translation for an entity without a URL',
  14. 'group' => 'Translation Management',
  15. 'dependencies' => array('sharemessage', 'entity_translation'),
  16. );
  17. }
  18. function setUp() {
  19. // Sharemessage is an entity that doesn't provide entity URLs, necessary for
  20. // testReviewForm().
  21. $modules = array(
  22. 'tmgmt_ui',
  23. 'tmgmt_entity_ui',
  24. 'tmgmt_file',
  25. 'image',
  26. 'block',
  27. 'sharemessage',
  28. );
  29. parent::setUp($modules);
  30. parent::createLanguagesLoginTranslator(array(
  31. 'administer sharemessage entities',
  32. 'view sharemessage entities',
  33. 'administer entity translation',
  34. 'translate any entity',
  35. ));
  36. }
  37. /**
  38. * Test whether the review form is accessible.
  39. */
  40. function testReviewForm() {
  41. // First create a sharemessage.
  42. $sharemessage = array(
  43. 'label' => 'ShareMessage Test Label',
  44. 'name' => 'sharemessage_test_label',
  45. 'sharemessage_title[en][0][value]' => 'Test title',
  46. 'sharemessage_long[en][0][value]' => 'Test description long',
  47. 'block' => 1,
  48. );
  49. $this->drupalPost('admin/config/services/sharemessage/add', $sharemessage, t('Save share message'));
  50. $this->assertText(t('Message @label saved.', array('@label' => $sharemessage['label'])));
  51. // Enable translation for sharemessage entities.
  52. $edit = array(
  53. 'entity_translation_entity_types[sharemessage]' => TRUE,
  54. );
  55. $this->drupalPost('admin/config/regional/entity_translation', $edit, t('Save configuration'));
  56. // Create a corresponding translation job via the UI (spanish translation).
  57. $this->drupalPost('admin/config/services/sharemessage/manage/' . $sharemessage['name'] . '/translate', array('languages[es]' => TRUE), t('Request translation'));
  58. // Submit the job to the file translator.
  59. $this->drupalPost('admin/tmgmt/jobs/1', array('translator' => 'file'), t('Submit to translator'));
  60. // Make sure the job status is on "In progress" after submission.
  61. $this->drupalGet('admin/config/services/sharemessage/manage/' . $sharemessage['name'] . '/translate');
  62. $this->assertText(t('In progress'));
  63. // Check that the entity label is there even though there is no entity uri
  64. // available.
  65. $this->drupalGet('admin/tmgmt/items/1');
  66. $this->assertText('ShareMessage');
  67. }
  68. }