Skip to content

Commit 1af0e5b

Browse files
committed
Add rector rules for B2BKit
1 parent bf01361 commit 1af0e5b

23 files changed

+372
-1
lines changed

config/sets/sylius/plus/b2b-suite.php

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
use Rector\Config\RectorConfig;
6+
use Sylius\SyliusRector\Rector\Class_\AddInterfaceToClassExtendingTypeRector;
7+
use Sylius\SyliusRector\Rector\Class_\AddTraitToClassExtendingTypeRector;
8+
9+
return static function (RectorConfig $rectorConfig): void {
10+
$rectorConfig->ruleWithConfiguration(AddInterfaceToClassExtendingTypeRector::class, [
11+
'Sylius\Component\Core\Model\Address' => [
12+
'Sylius\B2BKit\Entity\AddressInterface',
13+
],
14+
'Sylius\Component\Core\Model\Customer' => [
15+
'Sylius\B2BKit\Entity\CustomerInterface',
16+
],
17+
'Sylius\Component\Customer\Model\CustomerGroup' => [
18+
'Sylius\B2BKit\Entity\CustomerGroupInterface',
19+
],
20+
'Sylius\Component\Core\Model\Order' => [
21+
'Sylius\B2BKit\Entity\OrderInterface',
22+
],
23+
'Sylius\Component\Core\Model\ShopUser' => [
24+
'Sylius\B2BKit\Entity\ShopUserInterface',
25+
],
26+
]);
27+
$rectorConfig->ruleWithConfiguration(AddTraitToClassExtendingTypeRector::class, [
28+
'Sylius\Component\Core\Model\Address' => [
29+
'Sylius\B2BKit\Entity\AddressAwareTrait',
30+
],
31+
'Sylius\Component\Core\Model\Customer' => [
32+
'Sylius\B2BKit\Entity\CustomerAwareTrait',
33+
],
34+
'Sylius\Component\Customer\Model\CustomerGroup' => [
35+
'Sylius\B2BKit\Entity\CustomerGroupAwareTrait',
36+
],
37+
'Sylius\Component\Core\Model\Order' => [
38+
'Sylius\B2BKit\Entity\OrderAwareTrait',
39+
],
40+
'Sylius\Component\Core\Model\ShopUser' => [
41+
'Sylius\B2BKit\Entity\ShopUserAwareTrait',
42+
],
43+
]);
44+
};

src/Set/SyliusPlus.php

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
final class SyliusPlus
88
{
9+
public const B2B_SUITE = __DIR__ . '/../../config/sets/sylius/plus/b2b-suite.php';
910
public const LOYALTY_PLUGIN = __DIR__ . '/../../config/sets/sylius/plus/loyalty-plugin.php';
1011
public const MULTI_SOURCE_INVENTORY_PLUGIN = __DIR__ . '/../../config/sets/sylius/plus/multi-source-inventory-plugin.php';
1112
public const MULTI_STORE_PLUGIN = __DIR__ . '/../../config/sets/sylius/plus/multi-store-plugin.php';
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Sylius\B2BKit\Entity;
6+
7+
if (trait_exists('Sylius\B2BKit\Entity\AddressAwareTrait')) {
8+
return;
9+
}
10+
11+
trait AddressAwareTrait
12+
{
13+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Sylius\B2BKit\Entity;
6+
7+
if (class_exists('Sylius\B2BKit\Entity\AddressInterface')) {
8+
return;
9+
}
10+
11+
interface AddressInterface
12+
{
13+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Sylius\B2BKit\Entity;
6+
7+
if (trait_exists('Sylius\B2BKit\Entity\CustomerAwareTrait')) {
8+
return;
9+
}
10+
11+
trait CustomerAwareTrait
12+
{
13+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Sylius\B2BKit\Entity;
6+
7+
if (trait_exists('Sylius\B2BKit\Entity\CustomerGroupAwareTrait')) {
8+
return;
9+
}
10+
11+
trait CustomerGroupAwareTrait
12+
{
13+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Sylius\B2BKit\Entity;
6+
7+
if (class_exists('Sylius\B2BKit\Entity\CustomerGroupInterface')) {
8+
return;
9+
}
10+
11+
interface CustomerGroupInterface
12+
{
13+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Sylius\B2BKit\Entity;
6+
7+
if (class_exists('Sylius\B2BKit\Entity\CustomerInterface')) {
8+
return;
9+
}
10+
11+
interface CustomerInterface
12+
{
13+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Sylius\B2BKit\Entity;
6+
7+
if (trait_exists('Sylius\B2BKit\Entity\OrderAwareTrait')) {
8+
return;
9+
}
10+
11+
trait OrderAwareTrait
12+
{
13+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Sylius\B2BKit\Entity;
6+
7+
if (class_exists('Sylius\B2BKit\Entity\OrderInterface')) {
8+
return;
9+
}
10+
11+
interface OrderInterface
12+
{
13+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Sylius\B2BKit\Entity;
6+
7+
if (trait_exists('Sylius\B2BKit\Entity\ShopUserAwareTrait')) {
8+
return;
9+
}
10+
11+
trait ShopUserAwareTrait
12+
{
13+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Sylius\B2BKit\Entity;
6+
7+
if (class_exists('Sylius\B2BKit\Entity\ShopUserInterface')) {
8+
return;
9+
}
10+
11+
interface ShopUserInterface
12+
{
13+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
namespace Sylius\Component\Core\Model;
4+
5+
if (class_exists('Sylius\Component\Core\Model\Address')) {
6+
return;
7+
}
8+
9+
class Address
10+
{
11+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
namespace Sylius\Component\Core\Model;
4+
5+
if (class_exists('Sylius\Component\Core\Model\ShopUser')) {
6+
return;
7+
}
8+
9+
class ShopUser
10+
{
11+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
namespace Sylius\Component\Customer\Model;
4+
5+
if (class_exists('Sylius\Component\Customer\Model\CustomerGroup')) {
6+
return;
7+
}
8+
9+
class CustomerGroup
10+
{
11+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Sylius\SyliusRector\Tests\Set\SyliusPlus\B2BKit;
6+
7+
use Iterator;
8+
use Rector\Testing\PHPUnit\AbstractRectorTestCase;
9+
10+
final class B2BSuiteTest extends AbstractRectorTestCase
11+
{
12+
/**
13+
* @dataProvider provideData()
14+
*/
15+
public function test(string $file): void
16+
{
17+
$this->doTestFile($file);
18+
}
19+
20+
/**
21+
* @return Iterator<string>
22+
*/
23+
public function provideData(): Iterator
24+
{
25+
return self::yieldFilesFromDirectory(__DIR__ . '/Fixture');
26+
}
27+
28+
public function provideConfigFilePath(): string
29+
{
30+
return __DIR__ . '/config/configured_rule.php';
31+
}
32+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
namespace Sylius\SyliusRector\Tests\Rector\Class_\AddInterfaceToClassExtendingType\Fixture;
4+
5+
use Sylius\Component\Core\Model\Address as BaseAddress;
6+
7+
class Address extends BaseAddress
8+
{
9+
}
10+
11+
?>
12+
-----
13+
<?php
14+
15+
namespace Sylius\SyliusRector\Tests\Rector\Class_\AddInterfaceToClassExtendingType\Fixture;
16+
17+
use Sylius\Component\Core\Model\Address as BaseAddress;
18+
19+
class Address extends BaseAddress implements \Sylius\B2BKit\Entity\AddressInterface
20+
{
21+
use \Sylius\B2BKit\Entity\AddressAwareTrait;
22+
}
23+
24+
?>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
namespace Sylius\SyliusRector\Tests\Rector\Class_\AddInterfaceToClassExtendingType\Fixture;
4+
5+
use Sylius\Component\Customer\Model\CustomerGroup as BaseCustomerGroup;
6+
7+
class CustomerGroup extends BaseCustomerGroup
8+
{
9+
}
10+
11+
?>
12+
-----
13+
<?php
14+
15+
namespace Sylius\SyliusRector\Tests\Rector\Class_\AddInterfaceToClassExtendingType\Fixture;
16+
17+
use Sylius\Component\Customer\Model\CustomerGroup as BaseCustomerGroup;
18+
19+
class CustomerGroup extends BaseCustomerGroup implements \Sylius\B2BKit\Entity\CustomerGroupInterface
20+
{
21+
use \Sylius\B2BKit\Entity\CustomerGroupAwareTrait;
22+
}
23+
24+
?>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
namespace Sylius\SyliusRector\Tests\Rector\Class_\AddInterfaceToClassExtendingType\Fixture;
4+
5+
use Sylius\Component\Core\Model\Customer as BaseCustomer;
6+
7+
class Customer extends BaseCustomer
8+
{
9+
}
10+
11+
?>
12+
-----
13+
<?php
14+
15+
namespace Sylius\SyliusRector\Tests\Rector\Class_\AddInterfaceToClassExtendingType\Fixture;
16+
17+
use Sylius\Component\Core\Model\Customer as BaseCustomer;
18+
19+
class Customer extends BaseCustomer implements \Sylius\B2BKit\Entity\CustomerInterface
20+
{
21+
use \Sylius\B2BKit\Entity\CustomerAwareTrait;
22+
}
23+
24+
?>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
namespace Sylius\SyliusRector\Tests\Rector\Class_\AddInterfaceToClassExtendingType\Fixture;
4+
5+
use Sylius\Component\Core\Model\Order as BaseOrder;
6+
7+
class Order extends BaseOrder
8+
{
9+
}
10+
11+
?>
12+
-----
13+
<?php
14+
15+
namespace Sylius\SyliusRector\Tests\Rector\Class_\AddInterfaceToClassExtendingType\Fixture;
16+
17+
use Sylius\Component\Core\Model\Order as BaseOrder;
18+
19+
class Order extends BaseOrder implements \Sylius\B2BKit\Entity\OrderInterface
20+
{
21+
use \Sylius\B2BKit\Entity\OrderAwareTrait;
22+
}
23+
24+
?>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
namespace Sylius\SyliusRector\Tests\Rector\Class_\AddInterfaceToClassExtendingType\Fixture;
4+
5+
use Sylius\Component\Core\Model\ShopUser as BaseShopUser;
6+
7+
class ShopUser extends BaseShopUser
8+
{
9+
}
10+
11+
?>
12+
-----
13+
<?php
14+
15+
namespace Sylius\SyliusRector\Tests\Rector\Class_\AddInterfaceToClassExtendingType\Fixture;
16+
17+
use Sylius\Component\Core\Model\ShopUser as BaseShopUser;
18+
19+
class ShopUser extends BaseShopUser implements \Sylius\B2BKit\Entity\ShopUserInterface
20+
{
21+
use \Sylius\B2BKit\Entity\ShopUserAwareTrait;
22+
}
23+
24+
?>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
use Rector\Config\RectorConfig;
6+
use Sylius\SyliusRector\Set\SyliusPlus;
7+
8+
return static function (RectorConfig $rectorConfig): void {
9+
$rectorConfig->import(__DIR__ . '/../../../../../config/config.php');
10+
$rectorConfig->sets([SyliusPlus::B2B_SUITE]);
11+
};

0 commit comments

Comments
 (0)