45 public function testPricesSegmentation($categoryId, array $entityIds, array $intervalItems)
51 \
Magento\Framework\
Search\Request\Aggregation\TermBucket::class,
52 [
'name' =>
'name',
'field' =>
'price',
'metrics' => []]
58 [
'name' =>
'someName',
'value' =>
'default']
64 $idKey = $entityMetadata->getEntityId();
68 \
Magento\Framework\
Search\Adapter\Mysql\DocumentFactory::class,
69 [
'entityMetadata' => $entityMetadata]
74 foreach ($entityIds as $entityId) {
79 $documents[] = $documentFactory->create($rawDocument);
84 $table = $temporaryStorage->storeDocuments($documents);
88 \
Magento\CatalogSearch\Model\Adapter\Mysql\Aggregation\DataProvider::class
90 $select = $dataProvider->getDataSet($termBucket, $dimensions,
$table);
94 \
Magento\Framework\
Search\Adapter\Mysql\Aggregation\IntervalFactory::class
96 $interval = $intervalFactory->create([
'select' =>
$select]);
101 $layer->setCurrentCategory($categoryId);
113 $this->assertEquals(array_keys($intervalItems), array_keys(
$items));
115 for (
$i = 0;
$i < count($intervalItems); ++
$i) {
116 $this->assertInternalType(
'array',
$items[
$i]);
117 $this->assertEquals($intervalItems[
$i][
'from'],
$items[
$i][
'from']);
118 $this->assertEquals($intervalItems[
$i][
'to'],
$items[
$i][
'to']);
119 $this->assertEquals($intervalItems[
$i][
'count'],
$items[
$i][
'count']);
123 $this->assertLessThan(10 * 1024 * 1024,
memory_get_usage() - $memoryUsedBefore);
defined('TESTS_BP')||define('TESTS_BP' __DIR__
pricesSegmentationDataProvider()
static getObjectManager()