jenkins-bot has submitted this change and it was merged. Change subject: Added basic test for SimpleTableSchemaUpdater ......................................................................
Added basic test for SimpleTableSchemaUpdater Change-Id: Iff3b3cf6c42d1adf73d33960236744f63ae741e9 --- A tests/phpunit/Schema/SimpleTableSchemaUpdaterTest.php 1 file changed, 93 insertions(+), 0 deletions(-) Approvals: Addshore: Looks good to me, approved jenkins-bot: Verified diff --git a/tests/phpunit/Schema/SimpleTableSchemaUpdaterTest.php b/tests/phpunit/Schema/SimpleTableSchemaUpdaterTest.php new file mode 100644 index 0000000..8f61985 --- /dev/null +++ b/tests/phpunit/Schema/SimpleTableSchemaUpdaterTest.php @@ -0,0 +1,93 @@ +<?php + +namespace Wikibase\Database\Tests\Schema; + +use Wikibase\Database\Schema\Definitions\FieldDefinition; +use Wikibase\Database\Schema\Definitions\IndexDefinition; +use Wikibase\Database\Schema\Definitions\TableDefinition; +use Wikibase\Database\Schema\SimpleTableSchemaUpdater; + +/** + * @covers Wikibase\Database\Schema\SimpleTableSchemaUpdater + * + * @group Wikibase + * @group WikibaseDatabase + * + * @licence GNU GPL v2+ + * @author Jeroen De Dauw < [email protected] > + */ +class SimpleTableSchemaUpdaterTest extends \PHPUnit_Framework_TestCase { + + public function testCanConstruct() { + new SimpleTableSchemaUpdater( $this->getMock( 'Wikibase\Database\Schema\SchemaModifier' ) ); + $this->assertTrue( true ); + } + + /** + * @dataProvider tableDefinitionProvider + */ + public function testNoUpdatesCausedBySameDefinition( TableDefinition $tableDefinition ) { + $schema = $this->getMock( 'Wikibase\Database\Schema\SchemaModifier' ); + + $schema->expects( $this->never() ) + ->method( 'removeField' ); + + $schema->expects( $this->never() ) + ->method( 'addField' ); + + $updater = new SimpleTableSchemaUpdater( $schema ); + + $updater->updateTable( $tableDefinition, $tableDefinition ); + } + + public function tableDefinitionProvider() { + $definitions = array(); + + $definitions[] = new TableDefinition( + 'foo', + array( + new FieldDefinition( + 'field', + FieldDefinition::TYPE_BOOLEAN + ) + ) + ); + + $definitions[] = new TableDefinition( + 'foo', + array( + new FieldDefinition( + 'bool', + FieldDefinition::TYPE_BOOLEAN + ), + new FieldDefinition( + 'int', + FieldDefinition::TYPE_INTEGER + ), + new FieldDefinition( + 'text', + FieldDefinition::TYPE_TEXT + ) + ), + array( + new IndexDefinition( + 'some_index', + array( + 'int' => 0, + 'text' => 10, + ) + ), + new IndexDefinition( + 'other_index', + array( + 'text' => 0, + ), + IndexDefinition::TYPE_UNIQUE + ) + ) + ); + + return array_map( function( $definition ) { return array( $definition ); }, $definitions ); + } + +} -- To view, visit https://gerrit.wikimedia.org/r/83645 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Iff3b3cf6c42d1adf73d33960236744f63ae741e9 Gerrit-PatchSet: 4 Gerrit-Project: mediawiki/extensions/WikibaseDatabase Gerrit-Branch: master Gerrit-Owner: Jeroen De Dauw <[email protected]> Gerrit-Reviewer: Addshore <[email protected]> Gerrit-Reviewer: Daniel Kinzler <[email protected]> Gerrit-Reviewer: Daniel Werner <[email protected]> Gerrit-Reviewer: Tobias Gritschacher <[email protected]> Gerrit-Reviewer: jenkins-bot _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
