Skip to content

Commit 8dab9d7

Browse files
committed
FIx #14958 - fix integration tests
1 parent 774d40f commit 8dab9d7

File tree

1 file changed

+42
-4
lines changed
  • dev/tests/integration/framework/Magento/TestFramework/Db/Sequence

1 file changed

+42
-4
lines changed

dev/tests/integration/framework/Magento/TestFramework/Db/Sequence/Builder.php

Lines changed: 42 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@
66
namespace Magento\TestFramework\Db\Sequence;
77

88
use Magento\Framework\App\ResourceConnection;
9-
use Magento\Framework\Webapi\Exception;
10-
use Magento\SalesSequence\Model\ResourceModel\Meta as ResourceMetadata;
119
use Magento\Framework\App\ResourceConnection as AppResource;
1210
use Magento\Framework\DB\Ddl\Sequence as DdlSequence;
13-
use Magento\SalesSequence\Model\ProfileFactory;
11+
use Magento\Framework\Webapi\Exception;
1412
use Magento\SalesSequence\Model\MetaFactory;
13+
use Magento\SalesSequence\Model\ProfileFactory;
14+
use Magento\SalesSequence\Model\ResourceModel\Meta as ResourceMetadata;
15+
use Magento\SalesSequence\Model\ResourceModel\Profile as ResourceProfile;
1516

1617
/**
1718
* Class Builder
@@ -69,6 +70,11 @@ class Builder extends \Magento\SalesSequence\Model\Builder
6970
'warning_value',
7071
];
7172

73+
/**
74+
* @var ResourceProfile
75+
*/
76+
protected $resourceProfile;
77+
7278
/**
7379
* Concrete data of sequence
7480
*
@@ -82,19 +88,22 @@ class Builder extends \Magento\SalesSequence\Model\Builder
8288
* @param ProfileFactory $profileFactory
8389
* @param AppResource $appResource
8490
* @param DdlSequence $ddlSequence
91+
* @param ResourceProfile $resourceProfile
8592
*/
8693
public function __construct(
8794
ResourceMetadata $resourceMetadata,
8895
MetaFactory $metaFactory,
8996
ProfileFactory $profileFactory,
9097
AppResource $appResource,
91-
DdlSequence $ddlSequence
98+
DdlSequence $ddlSequence,
99+
ResourceProfile $resourceProfile
92100
) {
93101
$this->resourceMetadata = $resourceMetadata;
94102
$this->metaFactory = $metaFactory;
95103
$this->profileFactory = $profileFactory;
96104
$this->appResource = $appResource;
97105
$this->ddlSequence = $ddlSequence;
106+
$this->resourceProfile = $resourceProfile;
98107
$this->data = array_flip($this->pattern);
99108
}
100109

@@ -263,4 +272,33 @@ public function create()
263272
}
264273
$this->data = array_flip($this->pattern);
265274
}
275+
276+
/**
277+
* Deletes all sequence linked entites
278+
*
279+
* @param $storeId
280+
*
281+
* @return void
282+
* @throws \Magento\Framework\Exception\LocalizedException
283+
*/
284+
public function deleteByStoreId($storeId)
285+
{
286+
$metadataIds = $this->resourceMetadata->getIdsByStore($storeId);
287+
$profileIds = $this->resourceProfile->getProfileIdsByMetadataIds($metadataIds);
288+
289+
$this->appResource->getConnection()->delete(
290+
$this->appResource->getTableName('sales_sequence_profile'),
291+
['profile_id IN (?)' => $profileIds]
292+
);
293+
294+
foreach ($metadataIds as $metadataId) {
295+
$metadata = $this->metaFactory->create();
296+
$this->resourceMetadata->load($metadata, $metadataId);
297+
if (!$metadata->getId()) {
298+
continue;
299+
}
300+
301+
$this->resourceMetadata->delete($metadata);
302+
}
303+
}
266304
}

0 commit comments

Comments
 (0)