add project behind the scenes if it doesn't exist; #116
This commit is contained in:
parent
9460c981fd
commit
d8730c3c2d
File diff suppressed because one or more lines are too long
|
@ -64,9 +64,6 @@ class ProjectsStore extends Store {
|
||||||
onProjectsLoad(args) {
|
onProjectsLoad(args) {
|
||||||
let projects = this.get('list');
|
let projects = this.get('list');
|
||||||
|
|
||||||
// Quit if we have no projects.
|
|
||||||
if (!projects.length) return;
|
|
||||||
|
|
||||||
// Wait for the user to get resolved.
|
// Wait for the user to get resolved.
|
||||||
this.get('user', this.cb((user) => { // async
|
this.get('user', this.cb((user) => { // async
|
||||||
if (args) {
|
if (args) {
|
||||||
|
@ -343,8 +340,10 @@ class ProjectsStore extends Store {
|
||||||
// Notify?
|
// Notify?
|
||||||
if (say) this.notify(milestone);
|
if (say) this.notify(milestone);
|
||||||
|
|
||||||
// We are supposed to exist already.
|
// If project hasn't been found, add it behind the scenes.
|
||||||
if ((i = this.findIndex(project)) < 0) { throw 500; }
|
if ((i = this.findIndex(project)) < 0) {
|
||||||
|
i = this.push('list', project);
|
||||||
|
}
|
||||||
|
|
||||||
// Does the milestone exist already?
|
// Does the milestone exist already?
|
||||||
let milestones;
|
let milestones;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import { assert } from 'chai';
|
import { assert } from 'chai';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
|
import _ from 'lodash';
|
||||||
import { noCallThru } from 'proxyquire'
|
import { noCallThru } from 'proxyquire'
|
||||||
let proxy = noCallThru();
|
let proxy = noCallThru();
|
||||||
|
|
||||||
|
@ -261,6 +262,25 @@ export default {
|
||||||
assert.deepEqual(projects.get('list'), [ a, c ]);
|
assert.deepEqual(projects.get('list'), [ a, c ]);
|
||||||
assert.deepEqual(projects.get('index'), [ [ 0, 0 ], [ 1, 0 ] ]);
|
assert.deepEqual(projects.get('index'), [ [ 0, 0 ], [ 1, 0 ] ]);
|
||||||
|
|
||||||
|
done();
|
||||||
|
},
|
||||||
|
|
||||||
|
// Issue #116.
|
||||||
|
'projects - add milestone (project behind the scenes)': (done) => {
|
||||||
|
projects.set({ 'list': [], 'index': [], 'sortBy': 'progress' });
|
||||||
|
|
||||||
|
let p = { 'name': 'zcash', 'owner': 'zcash' };
|
||||||
|
let m = { 'issues': {
|
||||||
|
'closed': { 'list': [], 'size': 0 },
|
||||||
|
'open': { 'list': [], 'size': 0 }
|
||||||
|
}};
|
||||||
|
|
||||||
|
projects.addMilestone(p, m);
|
||||||
|
|
||||||
|
assert.deepEqual(projects.get('list'), [
|
||||||
|
_.extend(p, { 'milestones': [ m ] })
|
||||||
|
]);
|
||||||
|
|
||||||
done();
|
done();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue