diff --git a/core/modules/dblog/src/Tests/DbLogTest.php b/core/modules/dblog/src/Tests/DbLogTest.php index 7db1b16..a73ed65 100644 --- a/core/modules/dblog/src/Tests/DbLogTest.php +++ b/core/modules/dblog/src/Tests/DbLogTest.php @@ -698,4 +698,37 @@ protected function assertLogMessage($log_message, $message) { // string in xpath() to query the Document Object Model (DOM). $this->assertLink(html_entity_decode($message_text), 0, $message); } + + /** + * Tests if report detail view for non-existing user. + * + * Logs in the admin user, creates a database log event as ephemeral user + * and tests the if detail page is not blank if this user does not exists + * anymore. + */ + public function testEphemeralUser() { + // Create ephemeral user. + $tempuser = $this->drupalCreateUser(); + $tempuser_uid = $tempuser->id(); + + // Login as a user with access right to dblog. + $this->drupalLogin($this->adminUser); + + // Generate entry as a ephemeral user. + $this->generateLogEntries(1, array('user' => $tempuser, 'uid' => $tempuser_uid)); + $wid = db_query('SELECT MAX(wid) FROM {watchdog}')->fetchField(); + + // Check if dblog event detail view contain correct message. + $this->drupalGet('admin/reports/dblog/event/' . $wid); + $this->assertText('Dblog test log message', 'DBLog event node was displayed'); + + // Delete ephemeral user. + user_delete($tempuser->id()); + $this->drupalGet('user/' . $tempuser_uid); + $this->assertResponse(404); + + // Check if dblog event detail view contain correct message. + $this->drupalGet('admin/reports/dblog/event/' . $wid); + $this->assertText('Dblog test log message', 'DBLog event node was displayed'); + } }