Skip to content

Commit b4782f4

Browse files
committed
add test case
1 parent f3092fe commit b4782f4

File tree

2 files changed

+40
-0
lines changed

2 files changed

+40
-0
lines changed

test/functional/AccountDeletionRequestTest.php

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,33 @@ public function testRequestAccountDeletionUserHasGroup()
4040
$this->assertNumberAccountDeletionRequests(0);
4141
}
4242
}
43+
44+
/* when you request account deletion, any other requests should be deleted */
45+
public function testRequestAccountDeletionUserHasRequest()
46+
{
47+
global $USER, $SQL;
48+
$pi_args = getUserIsPIHasNoMembersNoMemberRequests();
49+
switchUser(...$pi_args);
50+
$pi = $USER;
51+
$pi_group = $USER->getPIGroup();
52+
$this->assertEqualsCanonicalizing([$pi->uid], $pi_group->getGroupMemberUIDs());
53+
$user_args = getBlankUser();
54+
switchUser(...$user_args);
55+
$this->assertEmpty($USER->getPIGroupGIDs());
56+
$this->assertNumberAccountDeletionRequests(0);
57+
$this->assertNumberRequests(0);
58+
try {
59+
$pi_group->newUserRequest($USER);
60+
$this->assertNumberRequests(1);
61+
http_post(__DIR__ . "/../../webroot/panel/account.php", [
62+
"form_type" => "account_deletion_request",
63+
]);
64+
$this->assertNumberAccountDeletionRequests(1);
65+
$this->assertNumberRequests(0);
66+
} finally {
67+
$SQL->deleteAccountDeletionRequest($USER->uid);
68+
$this->assertNumberAccountDeletionRequests(0);
69+
ensureUserNotInPIGroup($pi_group);
70+
}
71+
}
4372
}

test/phpunit-bootstrap.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -425,4 +425,15 @@ public function assertNumberPiBecomeRequests(int $x)
425425
}
426426
$this->assertEquals($x, $this->getNumberPiBecomeRequests());
427427
}
428+
429+
public function getNumberRequests()
430+
{
431+
global $USER, $SQL;
432+
return count($SQL->getRequestsByUser($USER->uid));
433+
}
434+
435+
public function assertNumberRequests(int $x)
436+
{
437+
$this->assertEquals($x, $this->getNumberRequests());
438+
}
428439
}

0 commit comments

Comments
 (0)