/** * POST request for creating Customer Group. * * @param FixtureInterface $fixture * @return array|mixed * @throws \Exception */ public function persist(FixtureInterface $fixture = null) { $data['code'] = $fixture->getCustomerGroupCode(); $data['tax_class'] = $fixture->getDataFieldConfig('tax_class_id')['source']->getTaxClass()->getId(); $url = $_ENV['app_backend_url'] . $this->saveUrl; $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); $curl->addOption(CURLOPT_HEADER, 1); $curl->write($url, $data); $response = $curl->read(); $curl->close(); if (!strpos($response, 'data-ui-id="messages-message-success"')) { throw new \Exception("Customer Group entity creating by curl handler was not successful! Response: {$response}"); } return ['customer_group_id' => $this->getCustomerGroupId($data)]; }
/** * Prepare fixture data. * * @param FixtureInterface $fixture * @return array */ protected function prepareData(FixtureInterface $fixture) { /** @var CustomerGroup $fixture */ return ['code' => $fixture->getCustomerGroupCode(), 'tax_class' => $fixture->getDataFieldConfig('tax_class_id')['source']->getTaxClass()->getId()]; }