Remove unused free plugin connector service

[MAILPOET-3077]
This commit is contained in:
Rostislav Wolny
2020-09-24 11:29:16 +02:00
committed by Veljko V
parent f6808404f2
commit 510921f27e
3 changed files with 0 additions and 167 deletions

View File

@ -131,7 +131,6 @@ class ContainerConfigurator implements IContainerConfigurator {
$container->autowire(\MailPoet\PostEditorBlocks\SubscriptionFormBlock::class);
// Dynamic segments
$container->autowire(\MailPoet\DynamicSegments\FreePluginConnectors\AddToNewslettersSegments::class);
$container->autowire(\MailPoet\DynamicSegments\FreePluginConnectors\AddToSubscribersFilters::class);
$container->autowire(\MailPoet\DynamicSegments\Mappers\DBMapper::class);
$container->autowire(\MailPoet\DynamicSegments\Persistence\Loading\Loader::class);
$container->autowire(\MailPoet\DynamicSegments\Persistence\Loading\SubscribersCount::class);

View File

@ -1,66 +0,0 @@
<?php
namespace MailPoet\DynamicSegments\FreePluginConnectors;
use MailPoet\DynamicSegments\Persistence\Loading\Loader;
use MailPoet\DynamicSegments\Persistence\Loading\SubscribersCount;
class AddToSubscribersFilters {
/** @var Loader */
private $loader;
/** @var SubscribersCount */
private $subscribersCountLoader;
public function __construct(Loader $loader, SubscribersCount $subscribersCountLoader) {
$this->loader = $loader;
$this->subscribersCountLoader = $subscribersCountLoader;
}
/**
* @param array $segmentFilters
*
* @return array
*/
public function add(array $segmentFilters) {
$dynamicSegments = $this->getListings();
return $this->sort(array_merge($segmentFilters, $dynamicSegments));
}
private function getListings() {
$dynamicSegments = $this->loader->load();
return $this->buildResult($dynamicSegments);
}
private function buildResult($dynamicSegments) {
$result = [];
foreach ($dynamicSegments as $dynamicSegment) {
$result[] = [
'value' => $dynamicSegment->id,
'label' => sprintf(
'%s (%s)',
$dynamicSegment->name,
number_format($this->subscribersCountLoader->getSubscribersCount($dynamicSegment))
),
];
}
return $result;
}
private function sort($segmentFilters) {
$specialSegmentFilters = [];
$segments = [];
foreach ($segmentFilters as $segmentFilter) {
if (is_numeric($segmentFilter['value'])) {
$segments[] = $segmentFilter;
} else {
$specialSegmentFilters[] = $segmentFilter;
}
}
usort($segments, function ($a, $b) {
return strcasecmp($a["label"], $b["label"]);
});
return array_merge($specialSegmentFilters, $segments);
}
}

View File

@ -1,100 +0,0 @@
<?php
namespace MailPoet\DynamicSegments\FreePluginConnectors;
use Codeception\Stub;
use Codeception\Stub\Expected;
use MailPoet\Models\DynamicSegment;
use PHPUnit\Framework\MockObject\MockObject;
class AddToSubscribersFiltersTest extends \MailPoetTest {
public function testItReturnsOriginalArray() {
$originalSegment = [
'label' => 'segment1',
'value' => '',
];
$segmentLoader = Stub::makeEmpty('\MailPoet\DynamicSegments\Persistence\Loading\Loader', ['load' => Expected::once(function () {
return [];
})]);
$subscribersCountLoader = Stub::makeEmpty('\MailPoet\DynamicSegments\Persistence\Loading\SubscribersCount', ['getSubscribersCount' => Expected::never()]);
$filter = new AddToSubscribersFilters($segmentLoader, $subscribersCountLoader);
$result = $filter->add([$originalSegment]);
expect($result)->equals([$originalSegment]);
}
public function testItAddsDynamicSegments() {
$dynamicSegment = DynamicSegment::create();
$dynamicSegment->hydrate([
'name' => 'segment2',
'description' => '',
'id' => 1,
]);
$segmentLoader = Stub::makeEmpty('\MailPoet\DynamicSegments\Persistence\Loading\Loader', ['load' => Expected::once(function () use ($dynamicSegment) {
return [$dynamicSegment];
})]);
/** @var \MailPoet\DynamicSegments\Persistence\Loading\SubscribersCount|MockObject $subscribersCountLoader */
$subscribersCountLoader = Stub::makeEmpty('\MailPoet\DynamicSegments\Persistence\Loading\SubscribersCount', ['getSubscribersCount']);
$subscribersCountLoader
->expects($this->once())
->method('getSubscribersCount')
->with($this->equalTo($dynamicSegment))
->will($this->returnValue(4));
$filter = new AddToSubscribersFilters($segmentLoader, $subscribersCountLoader);
$result = $filter->add([]);
expect($result)->count(1);
expect($result[0])->equals([
'label' => 'segment2 (4)',
'value' => 1,
]);
}
public function testItSortsTheResult() {
$dynamicSegment1 = DynamicSegment::create();
$dynamicSegment1->hydrate([
'name' => 'segment b',
'description' => '',
'id' => '1',
]);
$dynamicSegment2 = DynamicSegment::create();
$dynamicSegment2->hydrate([
'name' => 'segment a',
'description' => '',
'id' => '2',
]);
$segmentLoader = Stub::makeEmpty(
'\MailPoet\DynamicSegments\Persistence\Loading\Loader',
[
'load' => Expected::once(function () use ($dynamicSegment1, $dynamicSegment2) {
return [$dynamicSegment1, $dynamicSegment2];
}),
]
);
/** @var \MailPoet\DynamicSegments\Persistence\Loading\SubscribersCount|MockObject $subscribersCountLoader */
$subscribersCountLoader = Stub::makeEmpty('\MailPoet\DynamicSegments\Persistence\Loading\SubscribersCount', ['getSubscribersCount']);
$subscribersCountLoader
->expects($this->exactly(2))
->method('getSubscribersCount')
->will($this->returnValue(4));
$filter = new AddToSubscribersFilters($segmentLoader, $subscribersCountLoader);
$result = $filter->add([
['value' => '', 'label' => 'Special segment filter'],
['value' => '3', 'label' => 'segment c'],
]);
expect($result)->count(4);
expect($result[0]['value'])->equals('');
expect($result[1]['value'])->equals('2');
expect($result[2]['value'])->equals('1');
expect($result[3]['value'])->equals('3');
}
}