mediawiki-extensions-Discus.../tests/qunit/ThreadItem.test.js
Ed Sanders 7ae5bbf384 Move #getAuthors from parser to ThreadItem
Change-Id: I16e513000e5366b3044b17a99da07d8d0f47a61f
2020-07-20 15:13:59 +01:00

33 lines
803 B
JavaScript

var
testUtils = require( './testUtils.js' ),
CommentItem = require( 'ext.discussionTools.init' ).CommentItem,
HeadingItem = require( 'ext.discussionTools.init' ).HeadingItem;
QUnit.module( 'mw.dt.ThreadItem', testUtils.newEnvironment() );
QUnit.test( '#getAuthorsBelow', function ( assert ) {
var cases = require( '../cases/authors.json' );
function newFromJSON( json ) {
var item;
if ( json.type === 'heading' ) {
item = new HeadingItem();
} else {
item = new CommentItem();
item.author = json.author;
}
item.replies = json.replies.map( newFromJSON );
return item;
}
cases.forEach( function ( caseItem ) {
var threadItem = newFromJSON( caseItem.thread ),
authors = threadItem.getAuthorsBelow();
assert.deepEqual(
authors,
caseItem.expected
);
} );
} );