48 lines
1.6 KiB
JavaScript
48 lines
1.6 KiB
JavaScript
'use strict';
|
|
|
|
const { assert, action, utils } = require( 'api-testing' );
|
|
|
|
describe( 'Testing default autopatrolling rights', () => {
|
|
const anonymousUser = action.getAnon();
|
|
let title, mindy;
|
|
|
|
before( async () => {
|
|
title = await utils.title( 'Autopatrol_' );
|
|
mindy = await action.mindy();
|
|
} );
|
|
|
|
it( 'should edit page as a user in autopatrol group', async () => {
|
|
await mindy.edit( title, { text: 'Is this page autopatrolled?' } );
|
|
} );
|
|
|
|
it( 'should edit page as an anonymous user', async () => {
|
|
await anonymousUser.edit( title, { text: 'Anonymous: Is this page autopatrolled?' } );
|
|
} );
|
|
|
|
it( 'should confirm autopatrolling rights', async () => {
|
|
const anonUserInfo = await anonymousUser.meta( 'userinfo', {} );
|
|
const result = await mindy.list( 'recentchanges', { rctitle: title, rcprop: 'patrolled|user' } );
|
|
|
|
assert.lengthOf( result, 2 );
|
|
|
|
// Test different properties if Temporary Accounts is enabled or not
|
|
const siteInfoQuery = await anonymousUser.action(
|
|
'query',
|
|
// fetch flag $wgAutoCreateTempUser['enabled'], and format to
|
|
// true/false for convenience
|
|
{ meta: 'siteinfo', siprop: 'autocreatetempuser', formatversion: 2 }
|
|
);
|
|
if ( siteInfoQuery.query.autocreatetempuser.enabled ) {
|
|
assert.sameDeepMembers( result, [
|
|
{ temp: '', type: 'edit', unpatrolled: '', user: anonUserInfo.name },
|
|
{ type: 'new', patrolled: '', autopatrolled: '', user: mindy.username }
|
|
] );
|
|
} else {
|
|
assert.sameDeepMembers( result, [
|
|
{ anon: '', type: 'edit', unpatrolled: '', user: anonUserInfo.name },
|
|
{ type: 'new', patrolled: '', autopatrolled: '', user: mindy.username }
|
|
] );
|
|
}
|
|
} );
|
|
} );
|