coveo-1.0.0-alpha1/tests/src/Unit/API/Model/BatchDocumentBodyTest.php

tests/src/Unit/API/Model/BatchDocumentBodyTest.php
<?php

namespace Drupal\Tests\coveo\Unit\API\Model;

use Drupal\coveo\API\Model\BatchDocumentBody;
use Drupal\coveo\API\Model\DeletedItem;
use Drupal\coveo\DocumentBody;
use PHPUnit\Framework\TestCase;

/**
 * @coversDefaultClass \Drupal\coveo\API\Model\BatchDocumentBody
 */
class BatchDocumentBodyTest extends TestCase {

  /**
   * System under test.
   */
  private BatchDocumentBody $sot;

  /**
   * {@inheritDoc}
   */
  public function setUp(): void {
    parent::setUp();
    $this->sot = new BatchDocumentBody([
      'delete' => [],
      'add_or_update' => [],
    ]);
  }

  /**
   * @covers ::setDelete
   * @covers ::getDelete
   */
  public function testGetDelete(): void {
    $this->assertEquals([], $this->sot->getDelete());
    $delete = [
      new DeletedItem(),
    ];
    $this->sot->setDelete($delete);
    $this->assertEquals($delete, $this->sot->getDelete());

  }

  /**
   * @covers ::setAddOrUpdate
   * @covers ::getAddOrUpdate
   */
  public function testGetAddOrUpdate(): void {
    $this->assertEquals([], $this->sot->getAddOrUpdate());
    $add_or_update = [
      new DocumentBody(),
      new DocumentBody(),
    ];
    $this->sot->setAddOrUpdate($add_or_update);
    $this->assertSame($add_or_update, $this->sot->getAddOrUpdate());
  }

  /**
   * @covers ::jsonSerialize
   */
  public function testJsonSerialize(): void {
    $this->assertEquals(
      '{"addOrUpdate":[],"delete":[]}',
      json_encode($this->sot),
    );
    $document1 = new DocumentBody();
    $document1->setAdditionalProperties([
      'documentId' => 'example.com/node/1',
    ]);
    $document2 = new DocumentBody();
    $document2->setAdditionalProperties([
      'documentId' => 'example.com/node/2',
    ]);
    $this->sot->setAddOrUpdate([
      $document1,
      $document2,
    ]);
    $this->assertEquals(
      '{"addOrUpdate":[{"documentId":"example.com\/node\/1"},{"documentId":"example.com\/node\/2"}],"delete":[]}',
      json_encode($this->sot),
    );
  }

}

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

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