sharemessage-8.x-1.x-dev/tests/src/Functional/Plugin/ShareMessageAddthisTest.php

tests/src/Functional/Plugin/ShareMessageAddthisTest.php
<?php

namespace Drupal\Tests\sharemessage\Functional\Plugin;

use Drupal\Tests\sharemessage\Functional\ShareMessageTestBase;

/**
 * Test class for Share Message AddThis specific plugin.
 *
 * @group sharemessage
 */
class ShareMessageAddthisTest extends ShareMessageTestBase {

  /**
   * Test case for AddThis settings form saving.
   */
  public function testAddThisSettingsFormSave() {
    // Set initial AddThis settings.
    $default_settings = [
      'default_services[]' => [
        'facebook',
        'facebook_like',
      ],
      'default_additional_services' => FALSE,
      'default_icon_style' => 'addthis_16x16_style',
    ];
    $this->drupalGet('admin/config/services/sharemessage/addthis-settings');
    $this->submitForm($default_settings, t('Save configuration'));

    // Set a new Share Message.
    $this->drupalGet('admin/config/services/sharemessage/add');
    $this->assertSession()->pageTextContains('AddThis plugin for Share Message module.');
    $override_settings = '//details[starts-with(@data-drupal-selector, "edit-settings")]';
    $this->xpath($override_settings);
    $sharemessage = [
      'label' => 'ShareMessage Test AddThis',
      'id' => 'sharemessage_test_addthis_label',
      'plugin' => 'addthis',
      'title' => 'AddThis test',
    ];
    $this->drupalGet('admin/config/services/sharemessage/add');
    $this->submitForm($sharemessage, t('Save'));

    // Assert that the initial settings are saved correctly.
    $this->drupalGet('sharemessage-test/sharemessage_test_addthis_label');
    $this->assertShareButtons($sharemessage, $default_settings['default_icon_style'], TRUE);
    $this->assertSession()->responseContains('<a class="addthis_button_facebook">');
    $this->assertSession()->responseContains('<a class="addthis_button_facebook_like">');
    $this->assertSession()->responseNotContains('<a class="addthis_button_compact">');

    // Set new AddThis settings.
    $default_settings = [
      'default_services[]' => [
        'facebook',
        'linkedin',
        'twitter'
      ],
      'default_additional_services' => TRUE,
      'default_icon_style' => 'addthis_32x32_style',
    ];
    $this->drupalGet('admin/config/services/sharemessage/addthis-settings');
    $this->submitForm($default_settings, t('Save configuration'));

    // Check that the saving of the new AddThis settings works correctly.
    $this->drupalGet('sharemessage-test/sharemessage_test_addthis_label');
    $this->assertShareButtons($sharemessage, $default_settings['default_icon_style'], TRUE);
    $this->assertSession()->responseContains('<a class="addthis_button_facebook">');
    $this->assertSession()->responseNotContains('<a class="addthis_button_facebook_like">');
    $this->assertSession()->responseContains('<a class="addthis_button_linkedin">');
    $this->assertSession()->responseContains('<a class="addthis_button_twitter">');
    $this->assertSession()->responseContains('<a class="addthis_button_compact">');
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc