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: merged
Gerrit-Change-Id: I713c16fe5d2cfb482ac01acec5d922a7902ca61d
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/Flow
Gerrit-Branch: master
Gerrit-Owner: Matthias Mullie <[email protected]>
Gerrit-Reviewer: Mattflaschen <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits