Loading tests/src/Functional/GroupMembershipRequestFormTest.php +1 −1 Changes for tests/src/Functional/GroupMembershipRequestFormTest.php: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -53,7 +53,7 @@ class GroupMembershipRequestFormTest extends GroupBrowserTestBase { /** * {@inheritdoc} */ protected function setUp() { protected function setUp(): void { parent::setUp(); $this->group = $this->createGroup(); $this->membershipRequestManager = $this->container->get('grequest.membership_request_manager'); Loading tests/src/Kernel/GroupMembershipRequestTest.php +70 −21 Changes for tests/src/Kernel/GroupMembershipRequestTest.php: 70 added lines, 21 removed lines. Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ namespace Drupal\Tests\grequest\Kernel; use Drupal\grequest\Plugin\GroupContentEnabler\GroupMembershipRequest; use Drupal\group\Entity\GroupContent; use Drupal\group\GroupMembership; use Drupal\Tests\group\Kernel\GroupKernelTestBase; Loading Loading @@ -40,15 +41,23 @@ class GroupMembershipRequestTest extends GroupKernelTestBase { * * @var array */ public static $modules = ['grequest', 'state_machine', 'user', 'system']; public static $modules = [ 'grequest', 'state_machine', 'user', 'system', ]; /** * {@inheritdoc} */ protected function setUp() { protected function setUp(): void { parent::setUp(); $this->installConfig(['grequest', 'state_machine']); $this->installConfig([ 'grequest', 'state_machine', ]); $this->membershipRequestManager = $this->container->get('grequest.membership_request_manager'); $this->entityTypeManager = $this->container->get('entity_type.manager'); Loading @@ -75,8 +84,7 @@ class GroupMembershipRequestTest extends GroupKernelTestBase { */ public function testRequestWithMemberAsUser() { $account = $this->createUser(); $group_membership_request = $this->membershipRequestManager->create($this->group, $account); $group_membership_request = $this->createRequestMembership($account); $this->group->addMember($account); $violations = $group_membership_request->validate(); Loading @@ -91,21 +99,50 @@ class GroupMembershipRequestTest extends GroupKernelTestBase { } /** * Test status update. * Test approval. */ public function testRequestStatusUpdate() { public function testRequestApproval() { $account = $this->createUser(); $group_membership_request = $this->createRequestMembership($account); $this->membershipRequestManager->approve($group_membership_request); $this->assertEquals($group_membership_request->grequest_status->value, GroupMembershipRequest::REQUEST_APPROVED); } /** * Test rejection. */ public function testRequestRejection() { $account = $this->createUser(); $group_membership_request = $this->createRequestMembership($account); $this->membershipRequestManager->reject($group_membership_request); $this->assertEquals($group_membership_request->grequest_status->value, GroupMembershipRequest::REQUEST_REJECTED); } /** * Test wrong status update workflow. */ public function testWrongRequestWorkflow() { $account = $this->createUser(); $group_membership_request = $this->createRequestMembership($account); $this->membershipRequestManager->approve($group_membership_request); $this->assertEquals($group_membership_request->grequest_status->value, GroupMembershipRequest::REQUEST_APPROVED); $this->expectExceptionMessage('Transition "reject" is not allowed.'); $this->membershipRequestManager->reject($group_membership_request); } /** * Create group membership request. * * @return \Drupal\group\Entity\GroupContentInterface * Group membership request. */ public function createRequestMembership($account) { $group_membership_request = $this->membershipRequestManager->create($this->group, $account); $group_membership_request->save(); $this->assertEquals($group_membership_request->grequest_status->value, GroupMembershipRequest::REQUEST_PENDING); $this->membershipRequestManager->approve($group_membership_request); $this->assertEquals($group_membership_request->grequest_status->value, GroupMembershipRequest::REQUEST_APPROVED); $this->membershipRequestManager->reject($group_membership_request); $this->assertEquals($group_membership_request->grequest_status->value, GroupMembershipRequest::REQUEST_REJECTED); return $group_membership_request; } /** Loading @@ -115,8 +152,7 @@ class GroupMembershipRequestTest extends GroupKernelTestBase { $account = $this->createUser(); $role_name = 'default-custom'; $group_membership_request = $this->membershipRequestManager->create($this->group, $account); $group_membership_request->save(); $group_membership_request = $this->createRequestMembership($account); $this->membershipRequestManager->approve($group_membership_request, [$role_name]); Loading @@ -134,8 +170,7 @@ class GroupMembershipRequestTest extends GroupKernelTestBase { $this->installEntitySchema('user'); $account = $this->createUser(); $group_membership_request = $this->membershipRequestManager->create($this->group, $account); $group_membership_request->save(); $this->createRequestMembership($account); $this->entityTypeManager->getStorage('user')->delete([$account]); Loading @@ -152,8 +187,7 @@ class GroupMembershipRequestTest extends GroupKernelTestBase { $account = $this->createUser(); $group_membership_request = $this->membershipRequestManager->create($this->group, $account); $group_membership_request->save(); $this->createRequestMembership($account); $this->group->addMember($account); Loading @@ -172,9 +206,6 @@ class GroupMembershipRequestTest extends GroupKernelTestBase { $account = $this->createUser(); $group_membership_request = $this->membershipRequestManager->create($this->group, $account); $group_membership_request->save(); $this->group->addMember($account); $this->group->removeMember($account); Loading @@ -183,4 +214,22 @@ class GroupMembershipRequestTest extends GroupKernelTestBase { $this->assertNull($membership_request); } /** * Test wrong group content. */ public function testWrongGroupContent() { $account = $this->createUser(); $group_membership_group_content = GroupContent::create([ 'type' => $this->group ->getGroupType() ->getContentPlugin('group_membership') ->getContentTypeConfigId(), 'gid' => $this->group->id(), 'entity_id' => $account->id(), ]); $this->expectExceptionMessage('Only group content of "Group membership request" is allowed.'); $this->membershipRequestManager->approve($group_membership_group_content); } } Loading
tests/src/Functional/GroupMembershipRequestFormTest.php +1 −1 Changes for tests/src/Functional/GroupMembershipRequestFormTest.php: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -53,7 +53,7 @@ class GroupMembershipRequestFormTest extends GroupBrowserTestBase { /** * {@inheritdoc} */ protected function setUp() { protected function setUp(): void { parent::setUp(); $this->group = $this->createGroup(); $this->membershipRequestManager = $this->container->get('grequest.membership_request_manager'); Loading
tests/src/Kernel/GroupMembershipRequestTest.php +70 −21 Changes for tests/src/Kernel/GroupMembershipRequestTest.php: 70 added lines, 21 removed lines. Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ namespace Drupal\Tests\grequest\Kernel; use Drupal\grequest\Plugin\GroupContentEnabler\GroupMembershipRequest; use Drupal\group\Entity\GroupContent; use Drupal\group\GroupMembership; use Drupal\Tests\group\Kernel\GroupKernelTestBase; Loading Loading @@ -40,15 +41,23 @@ class GroupMembershipRequestTest extends GroupKernelTestBase { * * @var array */ public static $modules = ['grequest', 'state_machine', 'user', 'system']; public static $modules = [ 'grequest', 'state_machine', 'user', 'system', ]; /** * {@inheritdoc} */ protected function setUp() { protected function setUp(): void { parent::setUp(); $this->installConfig(['grequest', 'state_machine']); $this->installConfig([ 'grequest', 'state_machine', ]); $this->membershipRequestManager = $this->container->get('grequest.membership_request_manager'); $this->entityTypeManager = $this->container->get('entity_type.manager'); Loading @@ -75,8 +84,7 @@ class GroupMembershipRequestTest extends GroupKernelTestBase { */ public function testRequestWithMemberAsUser() { $account = $this->createUser(); $group_membership_request = $this->membershipRequestManager->create($this->group, $account); $group_membership_request = $this->createRequestMembership($account); $this->group->addMember($account); $violations = $group_membership_request->validate(); Loading @@ -91,21 +99,50 @@ class GroupMembershipRequestTest extends GroupKernelTestBase { } /** * Test status update. * Test approval. */ public function testRequestStatusUpdate() { public function testRequestApproval() { $account = $this->createUser(); $group_membership_request = $this->createRequestMembership($account); $this->membershipRequestManager->approve($group_membership_request); $this->assertEquals($group_membership_request->grequest_status->value, GroupMembershipRequest::REQUEST_APPROVED); } /** * Test rejection. */ public function testRequestRejection() { $account = $this->createUser(); $group_membership_request = $this->createRequestMembership($account); $this->membershipRequestManager->reject($group_membership_request); $this->assertEquals($group_membership_request->grequest_status->value, GroupMembershipRequest::REQUEST_REJECTED); } /** * Test wrong status update workflow. */ public function testWrongRequestWorkflow() { $account = $this->createUser(); $group_membership_request = $this->createRequestMembership($account); $this->membershipRequestManager->approve($group_membership_request); $this->assertEquals($group_membership_request->grequest_status->value, GroupMembershipRequest::REQUEST_APPROVED); $this->expectExceptionMessage('Transition "reject" is not allowed.'); $this->membershipRequestManager->reject($group_membership_request); } /** * Create group membership request. * * @return \Drupal\group\Entity\GroupContentInterface * Group membership request. */ public function createRequestMembership($account) { $group_membership_request = $this->membershipRequestManager->create($this->group, $account); $group_membership_request->save(); $this->assertEquals($group_membership_request->grequest_status->value, GroupMembershipRequest::REQUEST_PENDING); $this->membershipRequestManager->approve($group_membership_request); $this->assertEquals($group_membership_request->grequest_status->value, GroupMembershipRequest::REQUEST_APPROVED); $this->membershipRequestManager->reject($group_membership_request); $this->assertEquals($group_membership_request->grequest_status->value, GroupMembershipRequest::REQUEST_REJECTED); return $group_membership_request; } /** Loading @@ -115,8 +152,7 @@ class GroupMembershipRequestTest extends GroupKernelTestBase { $account = $this->createUser(); $role_name = 'default-custom'; $group_membership_request = $this->membershipRequestManager->create($this->group, $account); $group_membership_request->save(); $group_membership_request = $this->createRequestMembership($account); $this->membershipRequestManager->approve($group_membership_request, [$role_name]); Loading @@ -134,8 +170,7 @@ class GroupMembershipRequestTest extends GroupKernelTestBase { $this->installEntitySchema('user'); $account = $this->createUser(); $group_membership_request = $this->membershipRequestManager->create($this->group, $account); $group_membership_request->save(); $this->createRequestMembership($account); $this->entityTypeManager->getStorage('user')->delete([$account]); Loading @@ -152,8 +187,7 @@ class GroupMembershipRequestTest extends GroupKernelTestBase { $account = $this->createUser(); $group_membership_request = $this->membershipRequestManager->create($this->group, $account); $group_membership_request->save(); $this->createRequestMembership($account); $this->group->addMember($account); Loading @@ -172,9 +206,6 @@ class GroupMembershipRequestTest extends GroupKernelTestBase { $account = $this->createUser(); $group_membership_request = $this->membershipRequestManager->create($this->group, $account); $group_membership_request->save(); $this->group->addMember($account); $this->group->removeMember($account); Loading @@ -183,4 +214,22 @@ class GroupMembershipRequestTest extends GroupKernelTestBase { $this->assertNull($membership_request); } /** * Test wrong group content. */ public function testWrongGroupContent() { $account = $this->createUser(); $group_membership_group_content = GroupContent::create([ 'type' => $this->group ->getGroupType() ->getContentPlugin('group_membership') ->getContentTypeConfigId(), 'gid' => $this->group->id(), 'entity_id' => $account->id(), ]); $this->expectExceptionMessage('Only group content of "Group membership request" is allowed.'); $this->membershipRequestManager->approve($group_membership_group_content); } }