wiki.techinc.nl/tests/phpunit/includes/PreferencesTest.php
James D. Forrester 1e9c361960 tests: Replace implicit Bugzilla bug numbers with Phab ones
It's unreasonable to expect newbies to know that "bug 12345" means "Task T14345"
except where it doesn't, so let's just standardise on the real numbers.

Change-Id: I46261416f7603558dceb76ebe695a5cac274e417
2017-02-21 02:14:34 +00:00

91 lines
2.1 KiB
PHP

<?php
/**
* @group Database
*/
class PreferencesTest extends MediaWikiTestCase {
/**
* @var User[]
*/
private $prefUsers;
/**
* @var RequestContext
*/
private $context;
public function __construct() {
parent::__construct();
$this->prefUsers['noemail'] = new User;
$this->prefUsers['notauth'] = new User;
$this->prefUsers['notauth']
->setEmail( 'noauth@example.org' );
$this->prefUsers['auth'] = new User;
$this->prefUsers['auth']
->setEmail( 'noauth@example.org' );
$this->prefUsers['auth']
->setEmailAuthenticationTimestamp( 1330946623 );
$this->context = new RequestContext;
$this->context->setTitle( Title::newFromText( 'PreferencesTest' ) );
}
protected function setUp() {
parent::setUp();
$this->setMwGlobals( [
'wgEnableEmail' => true,
'wgEmailAuthentication' => true,
] );
}
/**
* Placeholder to verify T36302
* @covers Preferences::profilePreferences
*/
public function testEmailAuthenticationFieldWhenUserHasNoEmail() {
$prefs = $this->prefsFor( 'noemail' );
$this->assertArrayHasKey( 'cssclass',
$prefs['emailauthentication']
);
$this->assertEquals( 'mw-email-none', $prefs['emailauthentication']['cssclass'] );
}
/**
* Placeholder to verify T36302
* @covers Preferences::profilePreferences
*/
public function testEmailAuthenticationFieldWhenUserEmailNotAuthenticated() {
$prefs = $this->prefsFor( 'notauth' );
$this->assertArrayHasKey( 'cssclass',
$prefs['emailauthentication']
);
$this->assertEquals( 'mw-email-not-authenticated', $prefs['emailauthentication']['cssclass'] );
}
/**
* Placeholder to verify T36302
* @covers Preferences::profilePreferences
*/
public function testEmailAuthenticationFieldWhenUserEmailIsAuthenticated() {
$prefs = $this->prefsFor( 'auth' );
$this->assertArrayHasKey( 'cssclass',
$prefs['emailauthentication']
);
$this->assertEquals( 'mw-email-authenticated', $prefs['emailauthentication']['cssclass'] );
}
/** Helper */
protected function prefsFor( $user_key ) {
$preferences = [];
Preferences::profilePreferences(
$this->prefUsers[$user_key],
$this->context,
$preferences
);
return $preferences;
}
}