public function SubscribersTest::testGetSubscribersExcludeSelf in Message Subscribe 8
Testing the exclusion of the entity author from the subscribers lists.
File
- tests/
src/ Kernel/ SubscribersTest.php, line 201  
Class
- SubscribersTest
 - Test getting subscribes from context.
 
Namespace
Drupal\Tests\message_subscribe\KernelCode
public function testGetSubscribersExcludeSelf() {
  // Test the affect of the variable when set to FALSE (do not notify self).
  \Drupal::configFactory()
    ->getEditable('message_subscribe.settings')
    ->set('notify_own_actions', FALSE)
    ->save();
  $message = Message::create([
    'template' => $this->template
      ->id(),
    'uid' => $this->users[1],
  ]);
  $node = $this->nodes[0];
  $user1 = $this->users[1];
  $user2 = $this->users[2];
  $uids = $this->messageSubscribers
    ->getSubscribers($node, $message);
  // Assert subscribers data.
  $expected_uids = [
    $this->users[2]
      ->id() => new DeliveryCandidate([
      'subscribe_node',
      'subscribe_user',
    ], [], $this->users[2]
      ->id()),
  ];
  $this
    ->assertEquals($uids, $expected_uids, 'All subscribers except for the triggering user were fetched.');
  // Test the affect of the variable when set to TRUE (Notify self).
  \Drupal::configFactory()
    ->getEditable('message_subscribe.settings')
    ->set('notify_own_actions', TRUE)
    ->save();
  $uids = $this->messageSubscribers
    ->getSubscribers($node, $message);
  // Assert subscribers data.
  $expected_uids = [
    $this->users[1]
      ->id() => new DeliveryCandidate([
      'subscribe_node',
    ], [], $this->users[1]
      ->id()),
    $this->users[2]
      ->id() => new DeliveryCandidate([
      'subscribe_node',
      'subscribe_user',
    ], [], $this->users[2]
      ->id()),
  ];
  $this
    ->assertEquals($uids, $expected_uids, 'All subscribers including the triggering user were fetched.');
}