Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
CreateSalesRuleStep.php
Go to the documentation of this file.
1 <?php
8 
9 use Magento\Mtf\Fixture\FixtureFactory;
10 use Magento\Mtf\TestStep\TestStepInterface;
11 
15 class CreateSalesRuleStep implements TestStepInterface
16 {
22  protected $salesRule;
23 
29  protected $fixtureFactory;
30 
37 
46  public function __construct(FixtureFactory $fixtureFactory, DeleteAllSalesRuleStep $deleteRule, $salesRule = null)
47  {
48  $this->fixtureFactory = $fixtureFactory;
49  $this->salesRule = $salesRule;
50  $this->deleteAllSalesRule = $deleteRule;
51  }
52 
58  public function run()
59  {
60  $result['salesRule'] = null;
61  if ($this->salesRule !== null) {
62  $salesRule = $this->fixtureFactory->createByCode(
63  'salesRule',
64  ['dataset' => $this->salesRule]
65  );
66  $salesRule->persist();
67  $result['salesRule'] = $salesRule;
68  }
69 
70  return $result;
71  }
72 
78  public function cleanup()
79  {
80  if ($this->salesRule !== null) {
81  $this->deleteAllSalesRule->run();
82  }
83  }
84 }
__construct(FixtureFactory $fixtureFactory, DeleteAllSalesRuleStep $deleteRule, $salesRule=null)