class RouteGroupContentResolverTest in Organic groups 8
Tests the RouteGroupContentResolver plugin.
@group og @coversDefaultClass \Drupal\og\Plugin\OgGroupResolver\RouteGroupContentResolver
Hierarchy
- class \Drupal\Tests\UnitTestCase extends \PHPUnit\Framework\TestCase uses PhpunitCompatibilityTrait- class \Drupal\Tests\og\Unit\Plugin\OgGroupResolver\OgGroupResolverTestBase- class \Drupal\Tests\og\Unit\Plugin\OgGroupResolver\OgRouteGroupResolverTestBase- class \Drupal\Tests\og\Unit\Plugin\OgGroupResolver\RouteGroupContentResolverTest
 
 
- class \Drupal\Tests\og\Unit\Plugin\OgGroupResolver\OgRouteGroupResolverTestBase
 
- class \Drupal\Tests\og\Unit\Plugin\OgGroupResolver\OgGroupResolverTestBase
Expanded class hierarchy of RouteGroupContentResolverTest
File
- tests/src/ Unit/ Plugin/ OgGroupResolver/ RouteGroupContentResolverTest.php, line 15 
Namespace
Drupal\Tests\og\Unit\Plugin\OgGroupResolverView source
class RouteGroupContentResolverTest extends OgRouteGroupResolverTestBase {
  /**
   * {@inheritdoc}
   */
  protected $className = RouteGroupContentResolver::class;
  /**
   * {@inheritdoc}
   */
  protected $pluginId = 'route_group_content';
  /**
   * {@inheritdoc}
   */
  protected function getInjectedDependencies($path = NULL, $route_object_id = NULL) {
    return [
      $this->routeMatch
        ->reveal(),
      $this->groupTypeManager
        ->reveal(),
      $this->entityTypeManager
        ->reveal(),
      $this->membershipManager
        ->reveal(),
      $this->groupAudienceHelper
        ->reveal(),
    ];
  }
  /**
   * {@inheritdoc}
   */
  protected function getTestEntityProperties() {
    return [
      // A 'normal' test group.
      'group-0' => [
        'type' => 'node',
        'bundle' => 'group',
        'group' => TRUE,
      ],
      // A test group that is also group content for group-0.
      'group-1' => [
        'type' => 'taxonomy_term',
        'bundle' => 'assembly',
        'group' => TRUE,
        'group_content' => [
          'group-0',
        ],
      ],
      // Group content belonging to group-0.
      'group_content-0' => [
        'type' => 'entity_test',
        'bundle' => 'content',
        'group_content' => [
          'group-0',
        ],
      ],
      // Group content belonging to group-1.
      'group_content-1' => [
        'type' => 'node',
        'bundle' => 'article',
        'group_content' => [
          'group-1',
        ],
      ],
      // Group content belonging to both groups.
      'group_content-2' => [
        'type' => 'taxonomy_term',
        'bundle' => 'tags',
        'group_content' => [
          'group-0',
          'group-1',
        ],
      ],
      // An entity that is not a group nor group content.
      'non_group' => [
        'type' => 'entity_test',
        'bundle' => 'non_group',
      ],
    ];
  }
  /**
   * Data provider for testResolve().
   *
   * @see ::testResolve()
   */
  public function resolveProvider() {
    return [
      // Test that no groups are found on a path that is not associated with any
      // entities.
      [
        // A path that is not associated with any entities.
        '/user/logout',
        // There is no entity on this route.
        NULL,
        // So the plugin should not find anything.
        [],
      ],
      // Test that if we are on the canonical entity page of a group, no group
      // should be found.
      [
        // We're on the canonical group entity page.
        '/node/{node}',
        // The test group is found on the route.
        'group-0',
        // This is not a group content entity, so the plugin should not find any
        // results.
        [],
      ],
      // Test that if we are on the delete form of a group, no group is found.
      [
        '/node/{node}/delete',
        'group-0',
        [],
      ],
      // Test that if we are on the edit form of an entity that is both a group
      // and group content, the group is found of which this entity is group
      // content.
      [
        '/taxonomy/term/{taxonomy_term}/edit',
        'group-1',
        [
          'group-0',
        ],
      ],
      // Test that if we are on the canonical entity page of a group content
      // entity that is linked to one group, the group is found.
      [
        '/entity_test/{entity_test}',
        'group_content-0',
        [
          'group-0',
        ],
      ],
      // Test that if we are on the delete form of a group content entity, the
      // group that this group content belongs to is found.
      [
        '/node/{node}/delete',
        'group_content-1',
        [
          'group-1',
        ],
      ],
      // Test that if we are on the canonical entity page of an entity that is
      // group content belonging to two groups, both are found.
      [
        '/taxonomy/term/{taxonomy_term}',
        'group_content-2',
        [
          'group-0',
          'group-1',
        ],
      ],
      // Test that if we are on the canonical entity page of an entity that is
      // neither a group nor group content, no group should be found.
      [
        '/entity_test/{entity_test}',
        'non_group',
        [],
      ],
      // Test that if we are on the delete form of an entity that is neither a
      // group nor group content, no group should be returned.
      [
        '/entity_test/delete/entity_test/{entity_test}',
        'non_group',
        [],
      ],
    ];
  }
}Members
| Name   | Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| OgGroupResolverTestBase:: | protected | property | The mocked entity type manager. | |
| OgGroupResolverTestBase:: | protected | property | The OG group audience helper. | |
| OgGroupResolverTestBase:: | protected | property | The mocked OG group type manager. | |
| OgGroupResolverTestBase:: | protected | property | The OG membership manager. | |
| OgGroupResolverTestBase:: | protected | property | Mocked test entities. | |
| OgGroupResolverTestBase:: | protected | function | Creates a mocked content entity to use in the test. | 1 | 
| OgGroupResolverTestBase:: | protected | function | Returns an instance of the plugin under test. | |
| OgGroupResolverTestBase:: | public | function | Tests if the plugin is able to stop the group resolving process. | |
| OgRouteGroupResolverTestBase:: | protected | property | A list of link templates that belong to entity types used in the tests. | |
| OgRouteGroupResolverTestBase:: | protected | property | The mocked route matcher. | |
| OgRouteGroupResolverTestBase:: | protected | function | Returns a set of entity link templates for testing. | |
| OgRouteGroupResolverTestBase:: | protected | function | Adds an expectation that checks if the route object is a group. | |
| OgRouteGroupResolverTestBase:: | protected | function | Adds an expectation that the plugin will (not) retrieve the route object. | |
| OgRouteGroupResolverTestBase:: | protected | function | Overrides OgGroupResolverTestBase:: | |
| OgRouteGroupResolverTestBase:: | public | function | @todo Update documentation. Overrides OgGroupResolverTestBase:: | |
| OgRouteGroupResolverTestBase:: | protected | function | Adds an expectation that the plugin will retrieve a list of entity paths. | |
| OgRouteGroupResolverTestBase:: | protected | function | Adds an expectation that the current path will be retrieved from the route. | |
| PhpunitCompatibilityTrait:: | public | function | Returns a mock object for the specified class using the available method. | |
| PhpunitCompatibilityTrait:: | public | function | Compatibility layer for PHPUnit 6 to support PHPUnit 4 code. | |
| RouteGroupContentResolverTest:: | protected | property | The fully qualified class name of the plugin under test. Overrides OgGroupResolverTestBase:: | |
| RouteGroupContentResolverTest:: | protected | property | The ID of the plugin under test. Overrides OgGroupResolverTestBase:: | |
| RouteGroupContentResolverTest:: | protected | function | Returns the mocked classes that the plugin depends on. Overrides OgGroupResolverTestBase:: | |
| RouteGroupContentResolverTest:: | protected | function | Returns properties used to create mock test entities. Overrides OgGroupResolverTestBase:: | |
| RouteGroupContentResolverTest:: | public | function | Data provider for testResolve(). | |
| UnitTestCase:: | protected | property | The random generator. | |
| UnitTestCase:: | protected | property | The app root. | 1 | 
| UnitTestCase:: | protected | function | Asserts if two arrays are equal by sorting them first. | |
| UnitTestCase:: | protected | function | Mocks a block with a block plugin. | 1 | 
| UnitTestCase:: | protected | function | Returns a stub class resolver. | |
| UnitTestCase:: | public | function | Returns a stub config factory that behaves according to the passed array. | |
| UnitTestCase:: | public | function | Returns a stub config storage that returns the supplied configuration. | |
| UnitTestCase:: | protected | function | Sets up a container with a cache tags invalidator. | |
| UnitTestCase:: | protected | function | Gets the random generator for the utility methods. | |
| UnitTestCase:: | public | function | Returns a stub translation manager that just returns the passed string. | |
| UnitTestCase:: | public | function | Generates a unique random string containing letters and numbers. | 
