mirror of
https://github.com/status-im/burnchart.git
synced 2025-02-02 22:03:47 +00:00
fix milestones created after issue close; closes #100
This commit is contained in:
parent
e76611078e
commit
957bf7fe24
File diff suppressed because one or more lines are too long
8
public/js/bundle.min.js
vendored
8
public/js/bundle.min.js
vendored
File diff suppressed because one or more lines are too long
@ -1,4 +1,5 @@
|
||||
import moment from 'moment';
|
||||
import _ from 'lodash';
|
||||
|
||||
// Progress in %.
|
||||
let progress = (a, b) => {
|
||||
@ -27,6 +28,13 @@ export default (milestone) => {
|
||||
if (points === 100) isDone = true;
|
||||
}
|
||||
|
||||
// Check that milestone hasn't been created after issue close; #100.
|
||||
if (milestone.issues.closed.size) {
|
||||
milestone.created_at = _.reduce(milestone.issues.closed.list
|
||||
, (x, { closed_at }) => (x > closed_at) ? closed_at : x
|
||||
, milestone.created_at);
|
||||
}
|
||||
|
||||
// Milestones with no due date are always on track.
|
||||
if (!(milestone.due_on != null)) {
|
||||
return { isOverdue, isOnTime, isDone, isEmpty, 'progress': { points } };
|
||||
|
@ -124,6 +124,33 @@ export default {
|
||||
let { isOnTime } = stats(milestone);
|
||||
assert.isTrue(isOnTime);
|
||||
|
||||
done();
|
||||
},
|
||||
|
||||
// Make sure milestone hasn't been created after closing an issue; #100.
|
||||
'stats - milestone created_at': (done) => {
|
||||
let now = moment.utc();
|
||||
let a = now.clone().subtract(1, 'week').toISOString(),
|
||||
b = now.clone().subtract(1, 'day').toISOString()
|
||||
|
||||
let milestone = {
|
||||
'created_at': b,
|
||||
'issues': {
|
||||
'open': {
|
||||
'size': 0
|
||||
},
|
||||
'closed': {
|
||||
'size': 1,
|
||||
'list': [ { 'closed_at': a } ]
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// By ref.
|
||||
stats(milestone);
|
||||
|
||||
assert.equal(milestone.created_at, a);
|
||||
|
||||
done();
|
||||
}
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user