mirror of
https://github.com/Sylius/Sylius.git
synced 2026-07-14 17:10:53 +00:00
Tests fixes
This commit is contained in:
parent
c96f032e59
commit
cdf7818384
3 changed files with 13 additions and 22 deletions
|
|
@ -7,13 +7,13 @@ Feature: Deleting a taxon
|
|||
Background:
|
||||
Given I am logged in as an administrator
|
||||
|
||||
@ui
|
||||
@ui @javascript
|
||||
Scenario: Deleted taxon should disappear from the registry
|
||||
Given the store classifies its products as "T-Shirts"
|
||||
When I delete taxon named "T-Shirts"
|
||||
Then the taxon named "T-Shirts" should no longer exist in the registry
|
||||
|
||||
@ui
|
||||
@ui @javascript
|
||||
Scenario: Deleting a taxon with a child does not delete any other taxons
|
||||
Given the store classifies its products as "Main catalog"
|
||||
And the "Main catalog" taxon has children taxon "Shoes" and "Shovels"
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ final class IndexPage extends CrudIndexPage implements IndexPageInterface
|
|||
protected function getDefinedElements(): array
|
||||
{
|
||||
return array_merge(parent::getDefinedElements(), [
|
||||
'taxon_filter' => '.item a:contains("%taxon%")',
|
||||
'taxon_filter' => '.sylius-tree__item a:contains("%taxon%")',
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ use Behat\Mink\Element\NodeElement;
|
|||
use Behat\Mink\Exception\ElementNotFoundException;
|
||||
use Sylius\Behat\Behaviour\SpecifiesItsCode;
|
||||
use Sylius\Behat\Page\Admin\Crud\CreatePage as BaseCreatePage;
|
||||
use Sylius\Behat\Service\JQueryHelper;
|
||||
use Sylius\Behat\Service\SlugGenerationHelper;
|
||||
use Sylius\Component\Core\Model\TaxonInterface;
|
||||
use Webmozart\Assert\Assert;
|
||||
|
|
@ -47,9 +48,13 @@ class CreatePage extends BaseCreatePage implements CreatePageInterface
|
|||
public function deleteTaxonOnPageByName(string $name): void
|
||||
{
|
||||
$leaves = $this->getLeaves();
|
||||
/** @var NodeElement $leaf */
|
||||
foreach ($leaves as $leaf) {
|
||||
if ($leaf->getText() === $name) {
|
||||
$leaf->getParent()->find('css', '.ui.red.button')->press();
|
||||
if ($leaf->find('css', '.sylius-tree__title')->getText() === $name) {
|
||||
$leaf->find('css', '.sylius-tree__action__trigger')->click();
|
||||
JQueryHelper::waitForAsynchronousActionsToFinish($this->getSession());
|
||||
$leaf->find('css', '.sylius-tree__action button')->press();
|
||||
$this->getElement('confirmation_button')->click();
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
@ -99,22 +104,7 @@ class CreatePage extends BaseCreatePage implements CreatePageInterface
|
|||
|
||||
public function getLeaves(TaxonInterface $parentTaxon = null): array
|
||||
{
|
||||
$tree = $this->getElement('tree');
|
||||
Assert::notNull($tree);
|
||||
/** @var NodeElement[] $leaves */
|
||||
$leaves = $tree->findAll('css', '.item > .content > .header > a');
|
||||
|
||||
if (null === $parentTaxon) {
|
||||
return $leaves;
|
||||
}
|
||||
|
||||
foreach ($leaves as $leaf) {
|
||||
if ($leaf->getText() === $parentTaxon->getName()) {
|
||||
return $leaf->findAll('css', '.item > .content > .header');
|
||||
}
|
||||
}
|
||||
|
||||
return [];
|
||||
return $this->getDocument()->findAll('css', '.sylius-tree__item');
|
||||
}
|
||||
|
||||
public function activateLanguageTab(string $locale): void
|
||||
|
|
@ -142,12 +132,13 @@ class CreatePage extends BaseCreatePage implements CreatePageInterface
|
|||
{
|
||||
return array_merge(parent::getDefinedElements(), [
|
||||
'code' => '#sylius_taxon_code',
|
||||
'confirmation_button' => '#confirmation-button',
|
||||
'description' => '#sylius_taxon_translations_en_US_description',
|
||||
'images' => '#sylius_taxon_images',
|
||||
'language_tab' => '[data-locale="%locale%"] .title',
|
||||
'name' => '#sylius_taxon_translations_%language%_name',
|
||||
'slug' => '#sylius_taxon_translations_%language%_slug',
|
||||
'tree' => '.ui.list',
|
||||
'tree' => '.sylius-tree',
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue