[MediaWiki-commits] [Gerrit] Store data for IRCLine tests - change (mediawiki...Flow)
Mattflaschen has submitted this change and it was merged.
Change subject: Store data for IRCLine tests
..
Store data for IRCLine tests
The ->newNextRevision calls in that dataprovider end up at
AbstractRevision::getContent, which will try to fetch the
revision's collection & title (in order to parse content
for the correct title)
It will try to locate these things in storage, but they
weren't there.
The reason we never had this was that content was already
stored in html, so this was bypassed.
Bug: T94025
Change-Id: I713c16fe5d2cfb482ac01acec5d922a7902ca61d
---
M tests/phpunit/HookTest.php
1 file changed, 43 insertions(+), 9 deletions(-)
Approvals:
Mattflaschen: Verified; Looks good to me, approved
diff --git a/tests/phpunit/HookTest.php b/tests/phpunit/HookTest.php
index fb141ec..cfc2c91 100644
--- a/tests/phpunit/HookTest.php
+++ b/tests/phpunit/HookTest.php
@@ -4,9 +4,9 @@
use Flow\Container;
use Flow\Data\Listener\RecentChangesListener;
-use Flow\Model\AbstractRevision;
use Flow\Model\Header;
use Flow\Model\PostRevision;
+use Flow\Model\TopicListEntry;
use Flow\Model\Workflow;
use FlowHooks;
use RecentChange;
@@ -17,6 +17,14 @@
* @group Flow
*/
class HookTest extends \MediaWikiTestCase {
+ protected $tablesUsed = array(
+ 'flow_revision',
+ 'flow_topic_list',
+ 'flow_tree_node',
+ 'flow_tree_revision',
+ 'flow_workflow',
+ );
+
static public function onIRCLineURLProvider() {
$user = User::newFromName( '127.0.0.1', false );
$title = Title::newMainPage();
@@ -26,23 +34,49 @@
// pass closures into the test that create the objects within
the correct context.
$newHeader = function() use( $user ) {
$workflow = Workflow::create( 'discussion',
Title::newMainPage() );
- return array(
+ $header = Header::create( $workflow, $user, 'header
content', 'wikitext' );
+ $metadata = array(
'workflow' => $workflow,
- 'revision' => Header::create( $workflow, $user,
'header content', 'wikitext' ),
+ 'revision' => $header,
);
+
+ Container::get( 'storage' )->put( $workflow, $metadata
);
+
+ return $metadata;
};
$freshTopic = function() use( $user ) {
- $workflow = Workflow::create( 'topic',
Title::newMainPage() );
- return array(
- 'workflow' => $workflow,
- 'revision' => PostRevision::create( $workflow,
$user, 'some content', 'wikitext' ),
+ $boardWorkflow = Workflow::create( 'discussion',
Title::newMainPage() );
+ $topicWorkflow = Workflow::create( 'topic',
$boardWorkflow->getArticleTitle() );
+ $topicList = TopicListEntry::create( $boardWorkflow,
$topicWorkflow );
+ $topicTitle = PostRevision::create( $topicWorkflow,
$user, 'some content', 'wikitext' );
+ $metadata = array(
+ 'workflow' => $topicWorkflow,
+ 'board-workflow' => $boardWorkflow,
+ 'topic-title' => $topicTitle,
+
+ 'revision' => $topicTitle,
);
+
+ $storage = Container::get( 'storage' );
+ $storage->put( $topicWorkflow, $metadata );
+ $storage->put( $boardWorkflow, $metadata );
+ $storage->put( $topicList, $metadata );
+ $storage->put( $topicTitle, $metadata );
+
+ return $metadata;
};
$replyToTopic = function() use( $freshTopic, $user ) {
$metadata = $freshTopic();
- return array(
- 'revision' => $metadata['revision']->reply(
$metadata['workflow'], $user, 'ffuts dna ylper', 'wikitext' ),
+ $firstPost = $metadata['topic-title']->reply(
$metadata['workflow'], $user, 'ffuts dna ylper', 'wikitext' );
+ $metadata = array(
+ 'first-post' => $firstPost,
+
+ 'revision' => $firstPost,
) + $metadata;
+
+ Container::get( 'storage.post' )->put( $firstPost,
$metadata );
+
+ return $metadata;
};
return array(
--
To view, visit https://gerrit.wikimedia.org/r/199895
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType:
[MediaWiki-commits] [Gerrit] Store data for IRCLine tests - change (mediawiki...Flow)
Matthias Mullie has uploaded a new change for review.
https://gerrit.wikimedia.org/r/199895
Change subject: Store data for IRCLine tests
..
Store data for IRCLine tests
The ->newNextRevision calls in that dataprovider end up at
AbstractRevision::getContent, which will try to fetch the
revision's collection & title (in order to parse content
for the correct title)
It will try to locate these things in storage, but they
weren't there.
The reason we never had this was that content was already
stored in html, so this was bypassed.
Bug: T94025
Change-Id: I713c16fe5d2cfb482ac01acec5d922a7902ca61d
---
M tests/phpunit/HookTest.php
1 file changed, 43 insertions(+), 9 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Flow
refs/changes/95/199895/1
diff --git a/tests/phpunit/HookTest.php b/tests/phpunit/HookTest.php
index fb141ec..cfc2c91 100644
--- a/tests/phpunit/HookTest.php
+++ b/tests/phpunit/HookTest.php
@@ -4,9 +4,9 @@
use Flow\Container;
use Flow\Data\Listener\RecentChangesListener;
-use Flow\Model\AbstractRevision;
use Flow\Model\Header;
use Flow\Model\PostRevision;
+use Flow\Model\TopicListEntry;
use Flow\Model\Workflow;
use FlowHooks;
use RecentChange;
@@ -17,6 +17,14 @@
* @group Flow
*/
class HookTest extends \MediaWikiTestCase {
+ protected $tablesUsed = array(
+ 'flow_revision',
+ 'flow_topic_list',
+ 'flow_tree_node',
+ 'flow_tree_revision',
+ 'flow_workflow',
+ );
+
static public function onIRCLineURLProvider() {
$user = User::newFromName( '127.0.0.1', false );
$title = Title::newMainPage();
@@ -26,23 +34,49 @@
// pass closures into the test that create the objects within
the correct context.
$newHeader = function() use( $user ) {
$workflow = Workflow::create( 'discussion',
Title::newMainPage() );
- return array(
+ $header = Header::create( $workflow, $user, 'header
content', 'wikitext' );
+ $metadata = array(
'workflow' => $workflow,
- 'revision' => Header::create( $workflow, $user,
'header content', 'wikitext' ),
+ 'revision' => $header,
);
+
+ Container::get( 'storage' )->put( $workflow, $metadata
);
+
+ return $metadata;
};
$freshTopic = function() use( $user ) {
- $workflow = Workflow::create( 'topic',
Title::newMainPage() );
- return array(
- 'workflow' => $workflow,
- 'revision' => PostRevision::create( $workflow,
$user, 'some content', 'wikitext' ),
+ $boardWorkflow = Workflow::create( 'discussion',
Title::newMainPage() );
+ $topicWorkflow = Workflow::create( 'topic',
$boardWorkflow->getArticleTitle() );
+ $topicList = TopicListEntry::create( $boardWorkflow,
$topicWorkflow );
+ $topicTitle = PostRevision::create( $topicWorkflow,
$user, 'some content', 'wikitext' );
+ $metadata = array(
+ 'workflow' => $topicWorkflow,
+ 'board-workflow' => $boardWorkflow,
+ 'topic-title' => $topicTitle,
+
+ 'revision' => $topicTitle,
);
+
+ $storage = Container::get( 'storage' );
+ $storage->put( $topicWorkflow, $metadata );
+ $storage->put( $boardWorkflow, $metadata );
+ $storage->put( $topicList, $metadata );
+ $storage->put( $topicTitle, $metadata );
+
+ return $metadata;
};
$replyToTopic = function() use( $freshTopic, $user ) {
$metadata = $freshTopic();
- return array(
- 'revision' => $metadata['revision']->reply(
$metadata['workflow'], $user, 'ffuts dna ylper', 'wikitext' ),
+ $firstPost = $metadata['topic-title']->reply(
$metadata['workflow'], $user, 'ffuts dna ylper', 'wikitext' );
+ $metadata = array(
+ 'first-post' => $firstPost,
+
+ 'revision' => $firstPost,
) + $metadata;
+
+ Container::get( 'storage.post' )->put( $firstPost,
$metadata );
+
+ return $metadata;
};
return array(
--
To view, visit https://gerrit.wikimedia.org/r/199895
To unsubscribe,
