og_sm-8.x-1.0/tests/src/Kernel/SiteUserTest.php

tests/src/Kernel/SiteUserTest.php
<?php

namespace Drupal\Tests\og_sm\Kernel;

use Drupal\og_sm\OgSm;

/**
 * Tests Site User and helpers.
 *
 * @group og_sm
 */
class SiteUserTest extends OgSmKernelTestBase {

  /**
   * {@inheritdoc}
   */
  public function setUp() {
    parent::setUp();
    $this->installEntitySchema('og_membership');
  }

  /**
   * Test Site helpers.
   */
  public function testSiteUser() {
    $type_group = $this->createGroupNodeType(self::TYPE_IS_GROUP);
    $type_group_no_site = $this->createGroupNodeType('not_a_site_type');

    $group1 = $this->createGroup($type_group->id());
    $group2 = $this->createGroup($type_group->id());
    $group3 = $this->createGroup($type_group_no_site->id());
    $groups = [$group3, $group2, $group1];

    // Create group users.
    $user_no_groups = $this->createGroupUser();
    $user_with_groups = $this->createGroupUser([], $groups);

    $siteManager = Ogsm::siteManager();
    // Default no Site groups.
    self::assertEquals([], $siteManager->getUserSites($user_no_groups));
    self::assertEquals([], $siteManager->getUserSites($user_with_groups));

    // Make the group type a Site type.
    OgSm::siteTypeManager()->setIsSiteType($type_group, TRUE);
    $type_group->save();

    // Get all sites a user belongs to.
    self::assertCount(2, $siteManager->getUserSites($user_with_groups));

    // User should be a member of both groups.
    self::assertTrue($siteManager->userIsMemberOfSite($user_with_groups, $group1));
    self::assertTrue($siteManager->userIsMemberOfSite($user_with_groups, $group2));

    // No Site group types are ignored.
    self::assertFalse($siteManager->userIsMemberOfSite($user_with_groups, $group3));
  }

}

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

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