<?php
namespace Magento\AcceptanceTest\_default\Backend;

use Magento\FunctionalTestingFramework\AcceptanceTester;
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\CredentialStore;
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\PersistedObjectHandler;
use \Codeception\Util\Locator;
use Yandex\Allure\Adapter\Annotation\Features;
use Yandex\Allure\Adapter\Annotation\Stories;
use Yandex\Allure\Adapter\Annotation\Title;
use Yandex\Allure\Adapter\Annotation\Description;
use Yandex\Allure\Adapter\Annotation\Parameter;
use Yandex\Allure\Adapter\Annotation\Severity;
use Yandex\Allure\Adapter\Model\SeverityLevel;
use Yandex\Allure\Adapter\Annotation\TestCaseId;

/**
 */
class DataReplacementTestCest
{
	/**
	 * @Features({"TestModule"})
	 * @Parameter(name = "AcceptanceTester", value="$I")
	 * @param AcceptanceTester $I
	 * @return void
	 * @throws \Exception
	 */
	public function DataReplacementTest(AcceptanceTester $I)
	{
		$I->fillField("#selector", "StringBefore John StringAfter");
		$I->seeCurrentUrlMatches("~\/John~i");
		$I->fillField("#John", "input");
		$I->dragAndDrop("#John", "Doe");
		$I->conditionalClick("Doe", "#John", true);
		$I->amOnUrl("John.html");
		$I->searchAndMultiSelectOption("#selector", ["John", "Doe"]);
		$I->fillField("#selector", "StringBefore " . msq("uniqueData") . "John StringAfter");
		$I->fillField("#" . msq("uniqueData") . "John", "input");
		$I->dragAndDrop("#" . msq("uniqueData") . "John", msq("uniqueData") . "John");
		$I->conditionalClick(msq("uniqueData") . "John", "#" . msq("uniqueData") . "John", true);
		$I->amOnUrl(msq("uniqueData") . "John.html");
		$I->searchAndMultiSelectOption("#selector", [msq("uniqueData") . "John", "Doe"]);
		$I->click("#" . msq("uniqueData") . "John#" . msq("uniqueData") . "John");
		$I->click("#Doe" . msq("uniqueData") . "#Doe" . msq("uniqueData"));
		$I->fillField("#selector", "StringBefore Doe" . msq("uniqueData") . " StringAfter");
		$I->fillField("#Doe" . msq("uniqueData"), "input");
		$I->dragAndDrop("#Doe" . msq("uniqueData"), "Doe" . msq("uniqueData"));
		$I->conditionalClick("Doe" . msq("uniqueData"), "#Doe" . msq("uniqueData"), true);
		$I->amOnUrl("Doe" . msq("uniqueData") . ".html");
		$I->searchAndMultiSelectOption("#selector", ["John", "Doe" . msq("uniqueData")]);
		$I->searchAndMultiSelectOption("#selector", [msq("uniqueData") . "John", "Doe" . msq("uniqueData")]);
		$I->selectMultipleOptions("#Doe" . msq("uniqueData"), "#element", [msq("uniqueData") . "John", "Doe" . msq("uniqueData")]);
		$I->fillField(".selector", "0");
		$insertCommand = $I->magentoCLI("do something Doe" . msq("uniqueData") . " with uniqueness");
		$I->comment($insertCommand);
	}
}