diff --git a/app/services/kredits.js b/app/services/kredits.js index 15bb528..7064819 100644 --- a/app/services/kredits.js +++ b/app/services/kredits.js @@ -46,18 +46,33 @@ export default Service.extend({ }), kreditsByContributor: computed('contributionsUnconfirmed.[]', 'contributors', function() { - const contributionsGrouped = groupBy(this.contributionsUnconfirmed, 'contributorId'); + const contributionsUnconfirmed = this.contributionsUnconfirmed; + const contributionsGrouped = groupBy(contributionsUnconfirmed, 'contributorId'); + const contributorsWithUnconfirmed = contributionsGrouped.map(c => c.value.toString()); + const contributorsWithOnlyConfirmed = this.contributors.reject(c => contributorsWithUnconfirmed.includes(c.id)) - return contributionsGrouped.map(c => { + const kreditsByContributor = contributionsGrouped.map(c => { const amountUnconfirmed = c.items.mapBy('amount').reduce((a, b) => a + b); const contributor = this.contributors.findBy('id', c.value.toString()); + return EmberObject.create({ contributor: contributor, amountUnconfirmed: amountUnconfirmed, amountConfirmed: contributor.totalKreditsEarned, amountTotal: contributor.totalKreditsEarned + amountUnconfirmed }) + }); + + contributorsWithOnlyConfirmed.forEach(c => { + kreditsByContributor.push(EmberObject.create({ + contributor: c, + amountUnconfirmed: 0, + amountConfirmed: c.totalKreditsEarned, + amountTotal: c.totalKreditsEarned + })); }) + + return kreditsByContributor; }), init () { diff --git a/tests/unit/services/kredits-test.js b/tests/unit/services/kredits-test.js index da06057..836870d 100644 --- a/tests/unit/services/kredits-test.js +++ b/tests/unit/services/kredits-test.js @@ -32,8 +32,6 @@ module('Unit | Service | kredits', function(hooks) { const kreditsByContributor = service.kreditsByContributor; - console.log(kreditsByContributor); - assert.equal(kreditsByContributor.length, 3, 'includes all contributors with confirmed kredits'); const c1 = kreditsByContributor.find(k => k.contributor.id == 1);