You are here

public function EmitControllerTest::testEmitMultipleRequest in Radioactivity 4.0.x

Same name and namespace in other branches
  1. 8.3 tests/src/Unit/EmitControllerTest.php \Drupal\Tests\radioactivity\Unit\EmitControllerTest::testEmitMultipleRequest()

@covers ::emit

File

tests/src/Unit/EmitControllerTest.php, line 141

Class

EmitControllerTest
@coversDefaultClass \Drupal\radioactivity\Controller\EmitController @group radioactivity

Namespace

Drupal\Tests\radioactivity\Unit

Code

public function testEmitMultipleRequest() {
  $postData = Json::encode([
    [
      'fn' => 'field_name',
      'et' => 'entity_type',
      'id' => '99',
      'ti' => '0',
      'e' => '10',
      'h' => '4bd2afb1d12a72f3a2fdb01b8fdaf128b8c09efa',
    ],
    [
      'fn' => 'field_name',
      'et' => 'entity_type',
      'id' => '99',
      'ti' => '0',
      'e' => 3.3,
      'h' => '',
    ],
  ]);
  $this->request
    ->getContent()
    ->willReturn($postData);
  $controller = EmitController::create($this->container
    ->reveal());
  $response = $controller
    ->emit($this->request
    ->reveal());
  $this->defaultIncidentStorage
    ->addIncident(Argument::type(IncidentInterface::class))
    ->shouldBeCalledTimes(1);
  $this
    ->assertEquals('Symfony\\Component\\HttpFoundation\\JsonResponse', get_class($response));
  $this
    ->assertEquals('{"status":"error","message":"invalid incident (1)."}', $response
    ->getContent());
}