123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Elasticsearch\Test\Unit\Model\Adapter\Document;
- use Magento\Elasticsearch\Model\Adapter\Document\Builder;
- use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
- /**
- * Unit test for Magento\Elasticsearch\Model\Adapter\Document\Builder
- */
- class BuilderTest extends \PHPUnit\Framework\TestCase
- {
- /**
- * @var Builder
- */
- protected $builder;
- /**
- * {@inheritdoc}
- */
- protected function setUp()
- {
- $objectManager = new ObjectManagerHelper($this);
- $this->builder = $objectManager->getObject(
- \Magento\Elasticsearch\Model\Adapter\Document\Builder::class
- );
- }
- /**
- * @return void
- */
- public function testBuildWithSimpleField()
- {
- $document = [ 'fieldName' => 'fieldValue'];
- $field = 'fieldName';
- $value = 'fieldValue';
- $this->builder->addField($field, $value);
- $result = $this->builder->build();
- $this->assertEquals($document, $result);
- }
- /**
- * @return void
- */
- public function testBuildWithTwoSimpleFields()
- {
- $document = [
- 'fieldNameOne' => 'fieldValueOne',
- 'fieldNameTwo' => 'fieldValueTwo'
- ];
- $fieldOne = 'fieldNameOne';
- $valueOne = 'fieldValueOne';
- $fieldTwo = 'fieldNameTwo';
- $valueTwo = 'fieldValueTwo';
- $this->builder->addField($fieldOne, $valueOne);
- $this->builder->addField($fieldTwo, $valueTwo);
- $result = $this->builder->build();
- $this->assertEquals($document, $result);
- }
- /**
- * @return void
- */
- public function testBuildWithSimpleFieldAndFieldsArray()
- {
- $document = [
- 'fieldNameOne' => 'fieldValueOne',
- 'fieldNameTwo' => 'changedFieldValueTwo',
- 'fieldThree' => 'fieldValueThree',
- 'fieldFour' => 'fieldValueFour'
- ];
- $this->builder->addField('fieldNameOne', 'fieldValueOne');
- $this->builder->addField('fieldNameTwo', 'fieldValueTwo');
- $this->builder->addFields(
- [
- 'fieldThree' => 'fieldValueThree',
- 'fieldNameTwo' => 'changedFieldValueTwo',
- 'fieldFour' => 'fieldValueFour',
- ]
- );
- $result = $this->builder->build();
- $this->assertEquals($document, $result);
- }
- /**
- * @return void
- */
- public function testBuildWithArrayField()
- {
- $document = [
- 'nameOfField' => [
- 'value1','value2'
- ]
- ];
- $field = 'nameOfField';
- $values = ['value1', 'value2'];
- $this->builder->addField($field, $values);
- $result = $this->builder->build();
- $this->assertEquals($document, $result);
- }
- /**
- * @return void
- */
- public function testBuildWithEmptyArrayField()
- {
- $document = [
- 'nameOfField' => []
- ];
- $field = 'nameOfField';
- $values = [];
- $this->builder->addField($field, $values);
- $result = $this->builder->build();
- $this->assertEquals($document, $result);
- }
- /**
- * @return void
- */
- public function testBuildTwoDocuments()
- {
- $documentOne = [
- 'docOneFieldOne' => 'docOneValueOne',
- 'docOneFieldTwo' => 'docOneValueTwo'
- ];
- $documentTwo = [
- 'docTwoFieldOne' => 'docTwoValueOne',
- 'docTwoFieldTwo' => 'docTwoValueTwo'
- ];
- $docOneFieldOne = 'docOneFieldOne';
- $docOneValueOne = 'docOneValueOne';
- $docOneFieldTwo = 'docOneFieldTwo';
- $docOneValueTwo = 'docOneValueTwo';
- $docTwoFieldOne = 'docTwoFieldOne';
- $docTwoValueOne = 'docTwoValueOne';
- $docTwoFieldTwo = 'docTwoFieldTwo';
- $docTwoValueTwo = 'docTwoValueTwo';
- $this->builder->addField($docOneFieldOne, $docOneValueOne);
- $this->builder->addField($docOneFieldTwo, $docOneValueTwo);
- $resultOne = $this->builder->build();
- $this->builder->addField($docTwoFieldOne, $docTwoValueOne);
- $this->builder->addField($docTwoFieldTwo, $docTwoValueTwo);
- $resultTwo = $this->builder->build();
- $this->assertEquals($documentOne, $resultOne);
- $this->assertEquals($documentTwo, $resultTwo);
- }
- }
|