summaryrefslogtreecommitdiff
path: root/bin/reevotech/vendor/addwiki/mediawiki-api/tests/integration/PageIntegrationTest.php
blob: 673eac8fdab5b0a5c32e5c2559e55bc7cca5d4bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php

namespace Mediawiki\Api\Test;

use Mediawiki\DataModel\Content;
use Mediawiki\DataModel\PageIdentifier;
use Mediawiki\DataModel\Revision;
use Mediawiki\DataModel\Title;
use PHPUnit_Framework_TestCase;

/**
 * @author Addshore
 */
class PageIntegrationTest extends PHPUnit_Framework_TestCase {

	/**
	 * @var PageIdentifier
	 */
	private static $localPageIdentifier;

	public static function setUpBeforeClass() {
		parent::setUpBeforeClass();
		$title = new Title( 'TestPage - ' . strval( time() ) );
		self::$localPageIdentifier = new PageIdentifier( $title );
	}

	public function testCreatePage() {
		$factory = TestEnvironment::newDefault()->getFactory();
		$this->assertTrue(
			$factory->newRevisionSaver()->save(
				new Revision(
					new Content( 'testCreatePage_content' ),
					self::$localPageIdentifier
				)
			),
			'Failed to Create Page ' . self::$localPageIdentifier->getTitle()->getText()
		);
	}

	/**
	 * This is testGetPageUsingTitle as currently we only know the title
	 * @depends testCreatePage
	 */
	public function testGetPageUsingTitle() {
		$factory = TestEnvironment::newDefault()->getFactory();
		$page = $factory->newPageGetter()->getFromPageIdentifier( self::$localPageIdentifier );
		$this->assertTrue( is_int( $page->getPageIdentifier()->getId() ) );
		$title = $page->getPageIdentifier()->getTitle();
		$this->assertEquals( self::$localPageIdentifier->getTitle(), $title );
		$content = $page->getRevisions()->getLatest()->getContent()->getData();
		$this->assertEquals( 'testCreatePage_content', $content );
		self::$localPageIdentifier = $page->getPageIdentifier();
	}

	/**
	 * @depends testGetPageUsingTitle
	 */
	public function testGetPageUsingId() {
		$factory = TestEnvironment::newDefault()->getFactory();
		$page = $factory->newPageGetter()->getFromPageId( self::$localPageIdentifier->getId() );
		$this->assertEquals( self::$localPageIdentifier->getId(), $page->getPageIdentifier()->getId() );
		$title = $page->getPageIdentifier()->getTitle();
		$this->assertEquals( self::$localPageIdentifier->getTitle(), $title );
	}

}