public function UiRoleExpireTest::testRoleExpireEditUserFieldsAction in Role Expire 8
Same name and namespace in other branches
- 2.x tests/src/Functional/UiRoleExpireTest.php \Drupal\Tests\role_expire\Functional\UiRoleExpireTest::testRoleExpireEditUserFieldsAction()
Tests that we can add a role with default expiration and assign it to a new user.
File
- tests/
src/ Functional/ UiRoleExpireTest.php, line 161
Class
- UiRoleExpireTest
- Tests that the Role expire interface is available.
Namespace
Drupal\Tests\role_expire\FunctionalCode
public function testRoleExpireEditUserFieldsAction() {
$account = $this
->drupalCreateUser([
'administer permissions',
'administer role expire',
]);
$this
->drupalLogin($account);
// Create a role with an expiration date.
$value_to_store = '2 days';
$this
->createRoleWithOptionalExpirationUI('test role', 'test_role', $value_to_store);
// Assign the role to that user.
$this
->drupalGet('user/' . $account
->id() . '/edit');
$this
->assertSession()
->statusCodeEquals(200);
$this
->getSession()
->getPage()
->checkField('edit-roles-test-role');
$this
->getSession()
->getPage()
->pressButton('Save');
// Check that the user has the role and it has the default expiration date.
$expected_date = date('Y-m-d', strtotime('2 days'));
$this
->drupalGet('user/' . $account
->id() . '/edit');
$stored_value = $this
->getSession()
->getPage()
->findField('edit-role-expire-test-role')
->getValue();
$stored_date = substr($stored_value, 0, 10);
$this
->assertEquals($expected_date, $stored_date);
// Test that we can set expiration for user roles.
$this
->assertSession()
->pageTextContains('role expiration date/time');
}