https://www.mediawiki.org/wiki/Special:Code/MediaWiki/114607
Revision: 114607
Author: kaldari
Date: 2012-03-29 18:20:41 +0000 (Thu, 29 Mar 2012)
Log Message:
-----------
creating test user and test articles for further unit tests to come
Modified Paths:
--------------
trunk/extensions/PageTriage/tests/phpunit/SpecialPageTriageTest.php
Modified: trunk/extensions/PageTriage/tests/phpunit/SpecialPageTriageTest.php
===================================================================
--- trunk/extensions/PageTriage/tests/phpunit/SpecialPageTriageTest.php
2012-03-29 18:11:16 UTC (rev 114606)
+++ trunk/extensions/PageTriage/tests/phpunit/SpecialPageTriageTest.php
2012-03-29 18:20:41 UTC (rev 114607)
@@ -5,29 +5,125 @@
* @group EditorEngagement
* @author Ryan Kaldari
*/
-class SpecialPageTriageTest extends MediaWikiTestCase {
+class SpecialPageTriageTest extends ApiTestCase {
protected $pageTriage;
+
+ /**
+ * @var test user
+ */
+ public static $users;
- protected function setUp() {
+ public function setUp() {
+ self::$users['one'] = new ApiTestUser(
+ 'PageTriageUser1',
+ 'PageTriage Test User 1',
+ '[email protected]',
+ array()
+ );
+
parent::setUp();
$this->pageTriage = new SpecialPageTriage;
-
- // Insert some made up articles into the database
}
- protected function tearDown() {
+ public function tearDown() {
parent::tearDown();
// Remove the made up articles
}
+
+ // Create a fake logged in user
+ function testLogin() {
- // This is a sample test (not actually very useful)
- public function testGetTriageHeader() {
- $this->assertEquals(
- '<p>Page Triage Header goes here</p>',
- $this->pageTriage->getTriageHeader()
+ $sessionArray = array();
+
+ foreach ( self::$users as $key => $user ) {
+
+ $params = array(
+ 'action' => 'login',
+ 'lgname' => $user->username,
+ 'lgpassword' => $user->password
+ );
+ list( $result, , $session ) = $this->doApiRequest(
$params );
+ $this->assertArrayHasKey( "login", $result );
+ $this->assertArrayHasKey( "result", $result['login'] );
+ $this->assertEquals( "NeedToken",
$result['login']['result'] );
+ $token = $result['login']['token'];
+
+ $params = array(
+ 'action' => 'login',
+ 'lgtoken' => $token,
+ 'lgname' => $user->username,
+ 'lgpassword' => $user->password
+ );
+ list( $result, , $session ) = $this->doApiRequest(
$params, $session );
+ $this->assertArrayHasKey( "login", $result );
+ $this->assertArrayHasKey( "result", $result['login'] );
+ $this->assertEquals( "Success",
$result['login']['result'] );
+ $this->assertArrayHasKey( 'lgtoken', $result['login'] );
+
+ $this->assertNotEmpty( $session, 'API Login must return
a session' );
+
+ $sessionArray[$key] = $session;
+
+ }
+
+ return $sessionArray;
+
+ }
+
+ /**
+ * @depends testLogin
+ */
+ function testAddArticles( $sessionArray ) {
+
+ global $wgUser;
+
+ $wgUser = self::$users['one']->user;
+
+ $params = array(
+ 'action' => 'edit',
+ 'title' => 'Vacation Disaster Mania',
+ 'summary' => 'Creating test article',
+ 'createonly' => 1,
+ 'text' => 'Hello World'
);
+
+ list( $result, , $session ) = $this->doApiRequestWithToken(
+ $params,
+ $sessionArray['one'],
+ self::$users['one']->user
+ );
+
+ $this->assertEquals( "Success", $result['edit']['result'] );
+
+ // If it worked, make some more articles for use as test data
+ if ( $result['edit']['result'] == "Success" ) {
+
+ $newArticles = array(
+ 'My Lame Garage Band' => 'We rock!',
+ 'The Chronicals of Grok' => 'OK, I get it.',
+ 'Very thin wafers' => 'Eat it!'
+ );
+
+ foreach ( $newArticles as $title => $text ) {
+ $params = array(
+ 'action' => 'edit',
+ 'title' => $title,
+ 'summary' => 'Creating test article',
+ 'createonly' => 1,
+ 'text' => $text
+ );
+
+ list( $result, , $session ) =
$this->doApiRequestWithToken(
+ $params,
+ $sessionArray['one'],
+ self::$users['one']->user
+ );
+ }
+
+ }
+
}
}
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs