Newer
Older
Ivo Van Geertruyen
committed
<?php
Joris Vercammen
committed
namespace Drupal\Tests\facets\Unit\Plugin\processor;
Ivo Van Geertruyen
committed
use Drupal\facets\Plugin\facets\processor\ActiveWidgetOrderProcessor;
use Drupal\facets\Result\Result;
Ivo Van Geertruyen
committed
use Drupal\Tests\UnitTestCase;
/**
* @group facets
Ivo Van Geertruyen
committed
*/
class ActiveWidgetOrderProcessorTest extends UnitTestCase {
/**
* The processor to be tested.
*
Jimmy Henderickx
committed
* @var \Drupal\facets\Processor\WidgetOrderProcessorInterface
Ivo Van Geertruyen
committed
*/
protected $processor;
/**
* An array containing the results before the processor has ran.
*
* @var \Drupal\facets\Result\Result[]
Ivo Van Geertruyen
committed
*/
Ivo Van Geertruyen
committed
/**
* Creates a new processor object for use in the tests.
*/
protected function setUp() {
parent::setUp();
/** @var \Drupal\facets\Result\Result[] $original_results */
Ivo Van Geertruyen
committed
new Result('Boxer', 'Boxer', 10),
new Result('Old Major', 'Old Major', 3),
new Result('Minimus', 'Minimus', 60),
new Result('Mr Whymper', 'Mr. Whymper', 1),
new Result('Clover', 'Clover', 50),
];
$original_results[1]->setActiveState(TRUE);
$original_results[2]->setActiveState(TRUE);
$original_results[3]->setActiveState(TRUE);
$this->originalResults = $original_results;
Ivo Van Geertruyen
committed
$this->processor = new ActiveWidgetOrderProcessor([], 'active_widget_order', []);
}
/**
Jimmy Henderickx
committed
* Tests sorting.
Ivo Van Geertruyen
committed
*/
Jimmy Henderickx
committed
public function testSorting() {
$sort_value = $this->processor->sortResults($this->originalResults[0], $this->originalResults[1]);
$this->assertEquals(1, $sort_value);
Ivo Van Geertruyen
committed
Jimmy Henderickx
committed
$sort_value = $this->processor->sortResults($this->originalResults[1], $this->originalResults[2]);
$this->assertEquals(0, $sort_value);
$sort_value = $this->processor->sortResults($this->originalResults[2], $this->originalResults[3]);
$this->assertEquals(0, $sort_value);
$sort_value = $this->processor->sortResults($this->originalResults[3], $this->originalResults[4]);
$this->assertEquals(-1, $sort_value);
$sort_value = $this->processor->sortResults($this->originalResults[3], $this->originalResults[3]);
$this->assertEquals(0, $sort_value);
Ivo Van Geertruyen
committed
}
Jimmy Henderickx
committed
public function testDefaultConfiguration() {
$config = $this->processor->defaultConfiguration();
$this->assertEquals(['sort' => 'ASC'], $config);
}