Consistent sectionNumbers and issuesSeverity for page-issues.
The value of `sectionNumbers` should be the section number of each issue Not the number of the sections that have issues. Bug: T203050 Change-Id: I6fd55c35b9e2ce35894259f36d1a50fb5dca5e43
This commit is contained in:
parent
4cc3bfa6ae
commit
2cbd57c2f3
|
@ -180,7 +180,7 @@
|
||||||
.map( function ( issue ) { return issue.severity; } )
|
.map( function ( issue ) { return issue.severity; } )
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
sectionNumbers: getAllIssuesSections()
|
sectionNumbers: getAllIssuesSections( allIssues )
|
||||||
} );
|
} );
|
||||||
} );
|
} );
|
||||||
if ( $metadata.length ) {
|
if ( $metadata.length ) {
|
||||||
|
@ -215,13 +215,19 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an array of all the page sections that have issues.
|
* Returns an array containing the section of each page issue.
|
||||||
|
* @param {Object} allIssues mapping section {Number} to {IssueSummary}
|
||||||
* @return {array}
|
* @return {array}
|
||||||
*/
|
*/
|
||||||
function getAllIssuesSections() {
|
function getAllIssuesSections( allIssues ) {
|
||||||
return Object.keys( allIssues ).filter( function ( section ) {
|
return Object.keys( allIssues ).reduce( function ( acc, section ) {
|
||||||
return allIssues[ section ].length;
|
if ( allIssues[ section ].length ) {
|
||||||
} );
|
allIssues[ section ].forEach( function () {
|
||||||
|
acc.push( section );
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
return acc;
|
||||||
|
}, [] );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -277,7 +283,7 @@
|
||||||
newTreatmentEnabled,
|
newTreatmentEnabled,
|
||||||
CURRENT_NS,
|
CURRENT_NS,
|
||||||
getIssues( KEYWORD_ALL_SECTIONS ).map( formatPageIssuesSeverity ),
|
getIssues( KEYWORD_ALL_SECTIONS ).map( formatPageIssuesSeverity ),
|
||||||
getAllIssuesSections()
|
getAllIssuesSections( allIssues )
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -300,6 +306,7 @@
|
||||||
// the subscription call in cleanuptemplates.
|
// the subscription call in cleanuptemplates.
|
||||||
log: pageIssuesLogger.log,
|
log: pageIssuesLogger.log,
|
||||||
test: {
|
test: {
|
||||||
|
getAllIssuesSections: getAllIssuesSections,
|
||||||
createBanner: createBanner
|
createBanner: createBanner
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
|
|
|
@ -1,5 +1,22 @@
|
||||||
( function ( M ) {
|
( function ( M ) {
|
||||||
var createBanner = M.require( 'skins.minerva.scripts/pageIssues' ).test.createBanner,
|
var pageIssues = M.require( 'skins.minerva.scripts/pageIssues' ),
|
||||||
|
createBanner = pageIssues.test.createBanner,
|
||||||
|
MEDIUM_ISSUE = {
|
||||||
|
severity: 'MEDIUM',
|
||||||
|
icon: 'i',
|
||||||
|
text: 't'
|
||||||
|
},
|
||||||
|
LOW_ISSUE = {
|
||||||
|
severity: 'LOW',
|
||||||
|
icon: 'i',
|
||||||
|
text: 't'
|
||||||
|
},
|
||||||
|
HIGH_ISSUE = {
|
||||||
|
severity: 'HIGH',
|
||||||
|
icon: 'i',
|
||||||
|
text: 't'
|
||||||
|
},
|
||||||
|
getAllIssuesSections = pageIssues.test.getAllIssuesSections,
|
||||||
OverlayManager = M.require( 'mobile.startup/OverlayManager' ),
|
OverlayManager = M.require( 'mobile.startup/OverlayManager' ),
|
||||||
Page = M.require( 'mobile.startup/Page' ),
|
Page = M.require( 'mobile.startup/Page' ),
|
||||||
overlayManager = new OverlayManager( require( 'mediawiki.router' ) ),
|
overlayManager = new OverlayManager( require( 'mediawiki.router' ) ),
|
||||||
|
@ -43,4 +60,35 @@
|
||||||
assert.equal( JSON.toString( mockAction ), JSON.toString( data ) );
|
assert.equal( JSON.toString( mockAction ), JSON.toString( data ) );
|
||||||
} );
|
} );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
|
QUnit.test( 'getAllIssuesSections', function ( assert ) {
|
||||||
|
var allIssuesOldTreatment, allIssuesNewTreatment;
|
||||||
|
allIssuesOldTreatment = {
|
||||||
|
0: [
|
||||||
|
MEDIUM_ISSUE,
|
||||||
|
LOW_ISSUE,
|
||||||
|
MEDIUM_ISSUE
|
||||||
|
]
|
||||||
|
};
|
||||||
|
allIssuesNewTreatment = {
|
||||||
|
0: [
|
||||||
|
HIGH_ISSUE,
|
||||||
|
LOW_ISSUE,
|
||||||
|
MEDIUM_ISSUE
|
||||||
|
],
|
||||||
|
1: [
|
||||||
|
MEDIUM_ISSUE
|
||||||
|
]
|
||||||
|
};
|
||||||
|
assert.deepEqual(
|
||||||
|
getAllIssuesSections( allIssuesOldTreatment ),
|
||||||
|
[ '0', '0', '0' ],
|
||||||
|
'section numbers correctly extracted from old treatment'
|
||||||
|
);
|
||||||
|
assert.deepEqual(
|
||||||
|
getAllIssuesSections( allIssuesNewTreatment ),
|
||||||
|
[ '0', '0', '0', '1' ],
|
||||||
|
'section numbers correctly extracted from new treatment'
|
||||||
|
);
|
||||||
|
} );
|
||||||
}( mw.mobileFrontend ) );
|
}( mw.mobileFrontend ) );
|
||||||
|
|
Loading…
Reference in New Issue