4 * @covers NewUsersLogFormatter
7 class NewUsersLogFormatterTest
extends LogFormatterTestCase
{
9 protected function setUp() {
12 // Register LogHandler, see $wgNewUserLog in Setup.php
13 $this->mergeMwGlobalArrayValue( 'wgLogActionsHandlers', [
14 'newusers/newusers' => NewUsersLogFormatter
::class,
15 'newusers/create' => NewUsersLogFormatter
::class,
16 'newusers/create2' => NewUsersLogFormatter
::class,
17 'newusers/byemail' => NewUsersLogFormatter
::class,
18 'newusers/autocreate' => NewUsersLogFormatter
::class,
23 * Provide different rows from the logging table to test
24 * for backward compatibility.
25 * Do not change the existing data, just add a new database row
27 public static function provideNewUsersLogDatabaseRows() {
33 'action' => 'newusers',
34 'comment' => 'newusers comment',
36 'user_text' => 'New user',
37 'namespace' => NS_USER
,
38 'title' => 'New user',
43 'text' => 'User account New user was created',
51 * @dataProvider provideNewUsersLogDatabaseRows
53 public function testNewUsersLogDatabaseRows( $row, $extra ) {
54 $this->doTestLogFormatter( $row, $extra );
58 * Provide different rows from the logging table to test
59 * for backward compatibility.
60 * Do not change the existing data, just add a new database row
62 public static function provideCreateLogDatabaseRows() {
69 'comment' => 'newusers comment',
71 'user_text' => 'New user',
72 'namespace' => NS_USER
,
73 'title' => 'New user',
79 'text' => 'User account New user was created',
89 * @dataProvider provideCreateLogDatabaseRows
91 public function testCreateLogDatabaseRows( $row, $extra ) {
92 $this->doTestLogFormatter( $row, $extra );
96 * Provide different rows from the logging table to test
97 * for backward compatibility.
98 * Do not change the existing data, just add a new database row
100 public static function provideCreate2LogDatabaseRows() {
105 'type' => 'newusers',
106 'action' => 'create2',
107 'comment' => 'newusers comment',
109 'user_text' => 'User',
110 'namespace' => NS_USER
,
114 'text' => 'User account UTSysop was created by User'
121 * @dataProvider provideCreate2LogDatabaseRows
123 public function testCreate2LogDatabaseRows( $row, $extra ) {
124 // Make UTSysop user and use its user_id (sequence does not reset to 1 for postgres)
125 $user = static::getTestSysop()->getUser();
126 $row['params']['4::userid'] = $user->getId();
127 $extra['api']['userid'] = $user->getId();
128 $this->doTestLogFormatter( $row, $extra );
132 * Provide different rows from the logging table to test
133 * for backward compatibility.
134 * Do not change the existing data, just add a new database row
136 public static function provideByemailLogDatabaseRows() {
141 'type' => 'newusers',
142 'action' => 'byemail',
143 'comment' => 'newusers comment',
145 'user_text' => 'Sysop',
146 'namespace' => NS_USER
,
150 'text' => 'User account UTSysop was created by Sysop and password was sent by email'
157 * @dataProvider provideByemailLogDatabaseRows
159 public function testByemailLogDatabaseRows( $row, $extra ) {
160 // Make UTSysop user and use its user_id (sequence does not reset to 1 for postgres)
161 $user = static::getTestSysop()->getUser();
162 $row['params']['4::userid'] = $user->getId();
163 $extra['api']['userid'] = $user->getId();
164 $this->doTestLogFormatter( $row, $extra );
168 * Provide different rows from the logging table to test
169 * for backward compatibility.
170 * Do not change the existing data, just add a new database row
172 public static function provideAutocreateLogDatabaseRows() {
177 'type' => 'newusers',
178 'action' => 'autocreate',
179 'comment' => 'newusers comment',
181 'user_text' => 'New user',
182 'namespace' => NS_USER
,
183 'title' => 'New user',
189 'text' => 'User account New user was created automatically',
199 * @dataProvider provideAutocreateLogDatabaseRows
201 public function testAutocreateLogDatabaseRows( $row, $extra ) {
202 $this->doTestLogFormatter( $row, $extra );