You are here

protected function CrmCoreUserSyncRelationTest::setUp in CRM Core 8.3

Same name and namespace in other branches
  1. 8 modules/crm_core_user_sync/tests/src/Kernel/CrmCoreUserSyncRelationTest.php \Drupal\Tests\crm_core_user_sync\Kernel\CrmCoreUserSyncRelationTest::setUp()

Overrides EntityKernelTestBase::setUp

File

modules/crm_core_user_sync/tests/src/Kernel/CrmCoreUserSyncRelationTest.php, line 36

Class

CrmCoreUserSyncRelationTest
Test description.

Namespace

Drupal\Tests\crm_core_user_sync\Kernel

Code

protected function setUp() {
  parent::setUp();

  // User::delete() fails without this.
  $this
    ->installSchema('user', [
    'users_data',
  ]);
  $this
    ->installEntitySchema('crm_core_individual');
  $this
    ->installEntitySchema('crm_core_user_sync_relation');
  $this
    ->installConfig([
    'crm_core_user_sync',
  ]);
  $entityTypeManager = $this->container
    ->get('entity_type.manager');
  $role_storage = $entityTypeManager
    ->getStorage('user_role');
  $role_storage
    ->create([
    'id' => 'customer',
  ])
    ->save();
  $config = $this
    ->config('crm_core_user_sync.settings');
  $rules[] = [
    'role' => 'customer',
    'contact_type' => 'customer',
    'enabled' => TRUE,
    'weight' => 1,
  ];
  $rules[] = [
    'role' => 'authenticated',
    'contact_type' => 'individual',
    'enabled' => TRUE,
    'weight' => 10,
  ];
  $config
    ->set('rules', $rules)
    ->set('auto_sync_user_create', TRUE)
    ->save();
  $individual_type = $entityTypeManager
    ->getStorage('crm_core_individual_type')
    ->create([
    'type' => 'individual',
    'primary_fields' => [],
  ]);
  $individual_type
    ->save();
  $customer_type = $entityTypeManager
    ->getStorage('crm_core_individual_type')
    ->create([
    'type' => 'customer',
    'primary_fields' => [],
  ]);
  $customer_type
    ->save();
  $this->relationService = $this->container
    ->get('crm_core_user_sync.relation');
}