Skip to content

Commit 91cb71d

Browse files
committed
MC-30109: Deleting an empty user model caused deleting admin role
1 parent a98f47a commit 91cb71d

File tree

1 file changed

+30
-1
lines changed
  • dev/tests/integration/testsuite/Magento/User/Model/ResourceModel

1 file changed

+30
-1
lines changed

dev/tests/integration/testsuite/Magento/User/Model/ResourceModel/UserTest.php

100644100755
Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@
55
*/
66
namespace Magento\User\Model\ResourceModel;
77

8+
use Magento\Authorization\Model\ResourceModel\Role\Collection as UserRoleCollection;
9+
use Magento\Authorization\Model\UserContextInterface;
810
use Magento\TestFramework\Helper\Bootstrap;
9-
use Magento\User\Model\User;
1011
use Magento\User\Model\ResourceModel\User as UserResourceModel;
12+
use Magento\User\Model\User;
1113

1214
/**
1315
* @magentoAppArea adminhtml
@@ -46,6 +48,33 @@ public function testGetLatestPasswordWhenZeroPasswordLifetime()
4648
);
4749
}
4850

51+
/**
52+
* Test that user role is not deleted after deleting empty user
53+
*/
54+
public function testDelete()
55+
{
56+
$this->checkRoleCollectionSize();
57+
/** @var User $user */
58+
$user = Bootstrap::getObjectManager()->create(
59+
User::class
60+
);
61+
$this->model->delete($user);
62+
$this->checkRoleCollectionSize();
63+
}
64+
65+
/**
66+
* Ensure that role collection size is correct
67+
*/
68+
private function checkRoleCollectionSize()
69+
{
70+
/** @var UserRoleCollection $roleCollection */
71+
$roleCollection = Bootstrap::getObjectManager()->create(
72+
UserRoleCollection::class
73+
);
74+
$roleCollection->setUserFilter(0, UserContextInterface::USER_TYPE_ADMIN);
75+
$this->assertEquals(1, $roleCollection->getSize());
76+
}
77+
4978
public function testCountAll()
5079
{
5180
$this->assertSame(1, $this->model->countAll());

0 commit comments

Comments
 (0)