Addshore has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/89704


Change subject: Add unit test for MediaWikiSchemaModifierBuilder
......................................................................

Add unit test for MediaWikiSchemaModifierBuilder

Change-Id: I87948667e67c74dca252005710ae31bbcd4eb556
---
A tests/phpunit/MediaWiki/MediaWikiSchemaModifierBuilderTest.php
1 file changed, 94 insertions(+), 0 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikibaseDatabase 
refs/changes/04/89704/1

diff --git a/tests/phpunit/MediaWiki/MediaWikiSchemaModifierBuilderTest.php 
b/tests/phpunit/MediaWiki/MediaWikiSchemaModifierBuilderTest.php
new file mode 100644
index 0000000..0b4b4a4
--- /dev/null
+++ b/tests/phpunit/MediaWiki/MediaWikiSchemaModifierBuilderTest.php
@@ -0,0 +1,94 @@
+<?php
+
+namespace Wikibase\Database\Tests\MediaWiki;
+
+use Wikibase\Database\MediaWiki\MediaWikiSchemaModifierBuilder;
+
+/**
+ * @covers Wikibase\Database\MediaWiki\MediaWikiSchemaModifierBuilder
+ *
+ * @group Wikibase
+ * @group WikibaseDatabase
+ * @group WikibaseDatabaseMediawiki
+ *
+ * @licence GNU GPL v2+
+ * @author Adam Shorland
+ */
+class MediaWikiSchemaModifierBuilderTest extends \PHPUnit_Framework_TestCase {
+
+       public function testCanConstruct() {
+               new MediaWikiSchemaModifierBuilder();
+               $this->assertTrue( true );
+       }
+
+       public function testSetConnectionReturnsThis() {
+               $builder = new MediaWikiSchemaModifierBuilder();
+
+               $returnValue = $builder->setConnection( $this->getMock( 
'Wikibase\Database\DBConnectionProvider' ) );
+
+               $this->assertSame( $builder, $returnValue );
+       }
+
+       public function testSetQueryInterfaceReturnsThis() {
+               $builder = new MediaWikiSchemaModifierBuilder();
+
+               $mockQueryInterface = $this->getMockBuilder( 
'Wikibase\Database\MediaWiki\MediaWikiQueryInterface' )
+                       ->disableOriginalConstructor()
+                       ->getMock();
+
+               $returnValue = $builder->setQueryInterface( $mockQueryInterface 
);
+
+               $this->assertSame( $builder, $returnValue );
+       }
+
+       public function testGetSchemaModifier(){
+               $connection =  $this->getMock( 'DatabaseMysql' );
+
+               $connection->expects( $this->once() )
+                       ->method( 'getType' )
+                       ->will( $this->returnValue( 'mysql' ) );
+
+               $connectionProvider = $this->getMock( 
'Wikibase\Database\DBConnectionProvider' );
+
+               $connectionProvider->expects( $this->atLeastOnce() )
+                       ->method( 'getConnection' )
+                       ->will( $this->returnValue( $connection ) );
+
+               $queryInterface = $this->getMock( 
'Wikibase\Database\QueryInterface\QueryInterface' );
+
+               $builder = new MediaWikiSchemaModifierBuilder();
+
+               $schemaModifier = $builder
+                       ->setConnection( $connectionProvider )
+                       ->setQueryInterface( $queryInterface )
+                       ->getSchemaModifier();
+
+               $this->assertInstanceOf( 
'Wikibase\Database\Schema\SchemaModifier', $schemaModifier );
+       }
+
+       public function testUnsupportedDbType(){
+               $this->setExpectedException( 'RuntimeException', 'Cannot build 
a MediaWikiSchemaModifier for database type' );
+
+               $connection =  $this->getMock( 'DatabaseMysql' );
+               $connection->expects( $this->once() )
+                       ->method( 'getType' )
+                       ->will( $this->returnValue( 'foobar' ) );
+
+               $connectionProvider = $this->getMock( 
'Wikibase\Database\DBConnectionProvider' );
+               $connectionProvider->expects( $this->atLeastOnce() )
+                       ->method( 'getConnection' )
+                       ->will( $this->returnValue( $connection ) );
+
+               $queryInterface = $this->getMockBuilder( 
'Wikibase\Database\MediaWiki\MediaWikiQueryInterface' )
+                       ->disableOriginalConstructor()
+                       ->getMock();
+
+               $builder = new MediaWikiSchemaModifierBuilder();
+
+               $builder
+                       ->setConnection( $connectionProvider )
+                       ->setQueryInterface( $queryInterface )
+                       ->getSchemaModifier();
+       }
+
+}
\ No newline at end of file

-- 
To view, visit https://gerrit.wikimedia.org/r/89704
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I87948667e67c74dca252005710ae31bbcd4eb556
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/WikibaseDatabase
Gerrit-Branch: master
Gerrit-Owner: Addshore <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to