Skip to content

Commit 392925a

Browse files
committed
MAGETWO-56197: Write functional test for MAGETWO-47822
- Adding new functional test for verifying admin account sharing option availability.
1 parent 5f1cfd1 commit 392925a

File tree

5 files changed

+128
-0
lines changed

5 files changed

+128
-0
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?php
2+
3+
namespace Magento\Config\Test\Block\System\Config;
4+
5+
use Magento\Mtf\Block\Form;
6+
use Magento\Mtf\Client\Locator;
7+
8+
/**
9+
* Admin Security edit form in admin.
10+
*/
11+
/* this class needs to be created becuase we need to check for the availability of Admin account sharing settings, This is not possible using the form block class only
12+
*/
13+
class AdminForm extends Form
14+
{
15+
protected $AdminAccountSharingField = "#admin_security_admin_account_sharing";
16+
17+
public function AdminAccountSharingAvailability() {
18+
return $this->_rootElement->find($this->AdminAccountSharingField, Locator::SELECTOR_CSS)->isVisible();
19+
}
20+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<?php
2+
3+
namespace Magento\Config\Test\Constraint;
4+
5+
use Magento\Mtf\Constraint\AbstractConstraint;
6+
use Magento\Config\Test\Page\Adminhtml\AdminAccountSharing;
7+
8+
/**
9+
* Assert Admin account sharing is available in Stores>Configuration>advanced>admin grid.
10+
*/
11+
class AssertAdminAccountSharing extends AbstractConstraint
12+
{
13+
/**
14+
* Assert Admin account sharing is available in Stores>Configuration>advanced>admin grid.
15+
* @param AdminAccountSharing $adminAccountSharing
16+
*/
17+
public function processAssert(AdminAccountSharing $adminAccountSharing)
18+
{
19+
\PHPUnit_Framework_Assert::assertTrue(
20+
$adminAccountSharing->getAdminForm()->AdminAccountSharingAvailability(),
21+
'Admin Account Sharing Option is not available'
22+
);
23+
}
24+
25+
/**
26+
* Returns a string representation of the object.
27+
*
28+
* @return string
29+
*/
30+
public function toString()
31+
{
32+
return 'Admin account sharing is available is present in in Stores>Configuration>advanced>admin grid.';
33+
}
34+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/pages.xsd">
3+
<page name="AdminAccountSharing" area="Adminhtml" mca="admin/system_config/edit/section/admin/" module="Magento_Config">
4+
<block name="adminForm" class="Magento\Config\Test\Block\System\Config\AdminForm" locator="[id='page:main-container']" strategy="css selector" />
5+
</page>
6+
</config>
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
<?php
2+
3+
namespace Magento\Config\Test\TestCase;
4+
5+
use Magento\Mtf\TestCase\Injectable;
6+
use Magento\Config\Test\Page\Adminhtml\AdminAccountSharing;
7+
use Magento\Config\Test\Fixture\ConfigDataWithAdminAccountSharing;
8+
9+
/**
10+
* Steps:
11+
* 1. Log in to Admin.
12+
* 2. Open the Email Templates page.
13+
* 3. Click the "Add New Template" button.
14+
* 4. Select Email Template.
15+
* 5. Click the "Load Template" button.
16+
* 6. Enter Email Template name.
17+
* 7. Verify the email template saved successfully.
18+
*
19+
* @group Email_(PS)
20+
* @ZephyrId MAGETWO-17155
21+
*/
22+
class VerifyAdminAccountSharingEntityTest extends Injectable
23+
{
24+
/* tags */
25+
const MVP = 'yes';
26+
const DOMAIN = 'PS';
27+
const TEST_TYPE = 'extended_acceptance_test';
28+
/* end tags */
29+
30+
/**
31+
* Email Template Index page.
32+
*
33+
* @var AdminAccountSharing
34+
*/
35+
private $adminAccountSharing;
36+
37+
/**
38+
* Inject synonym pages.
39+
*
40+
* @param $AdminAccountSharing $AdminAccountSharing
41+
* @return void
42+
*/
43+
public function __inject(
44+
AdminAccountSharing $AdminAccountSharing
45+
) {
46+
$this->adminAccountSharing = $AdminAccountSharing;
47+
}
48+
49+
/**
50+
* Create Verify Admin Account Sharing test.
51+
*
52+
* @param ConfigDataWithAdminAccountSharing $ConfigDataWithAdminAccountSharing
53+
* @return void
54+
*/
55+
public function test(ConfigDataWithAdminAccountSharing $ConfigDataWithAdminAccountSharing)
56+
{
57+
$this->adminAccountSharing->open();
58+
59+
}
60+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd">
3+
<testCase name="Magento\Config\Test\TestCase\VerifyAdminAccountSharingEntityTest" summary="Verify admin account sharing option availability" ticketId="MAGETWO-47822">
4+
<variation name="VerifyAdminAccountSharingEntityTestVariation1" summary="Verify Admin Account Sharing is available by default">
5+
<constraint name="Magento\Config\Test\Constraint\AssertAdminAccountSharing" />
6+
</variation>
7+
</testCase>
8+
</config>

0 commit comments

Comments
 (0)