diff --git a/app/controllers/dashboard.js b/app/controllers/dashboard.js index 0de990e..45e07a4 100644 --- a/app/controllers/dashboard.js +++ b/app/controllers/dashboard.js @@ -25,7 +25,10 @@ export default Controller.extend({ kreditsToplistSorting: computed('showUnconfirmedKredits', function(){ return this.showUnconfirmedKredits ? ['amountTotal:desc'] : ['amountConfirmed:desc']; }), - kreditsToplist: sort('kreditsByContributor', 'kreditsToplistSorting'), + kreditsToplist: computed('kreditsByContributor', function(){ + return this.kreditsByContributor.filter(c => c.amountTotal > 0); + }), + kreditsToplistSorted: sort('kreditsToplist', 'kreditsToplistSorting'), showUnconfirmedKredits: true, hideUnconfirmedKredits: not('showUnconfirmedKredits'), diff --git a/app/templates/dashboard.hbs b/app/templates/dashboard.hbs index 4f050af..6d10ddf 100644 --- a/app/templates/dashboard.hbs +++ b/app/templates/dashboard.hbs @@ -11,7 +11,7 @@ {{/if}}
- diff --git a/tests/unit/controllers/dashboard-test.js b/tests/unit/controllers/dashboard-test.js index fde691a..1d6ed63 100644 --- a/tests/unit/controllers/dashboard-test.js +++ b/tests/unit/controllers/dashboard-test.js @@ -1,29 +1,31 @@ -// import { isEmpty, isPresent } from '@ember/utils'; -// import { module, test } from 'qunit'; -// import { setupTest } from 'ember-qunit'; -// import Contributor from 'kredits-web/models/contributor'; -// -// module('Unit | Controller | index', function(hooks) { -// setupTest(hooks); -// -// let addFixtures = function(controller) { -// [ -// { github_username: "neo", github_uid: "318", totalKreditsEarned: 10000 }, -// { github_username: "morpheus", github_uid: "843", totalKreditsEarned: 15000 }, -// { github_username: "trinity", github_uid: "123", totalKreditsEarned: 5000 }, -// { github_username: "mouse", github_uid: "696", totalKreditsEarned: 0 } -// ].forEach(fixture => { -// controller.get('kredits.contributors').push(Contributor.create(fixture)); -// }); -// }; -// -// test('doesn\'t contain people with 0 balance', function(assert) { -// let controller = this.owner.lookup('controller:index'); -// addFixtures(controller); -// -// let contributorsSorted = controller.get('contributorsSorted'); -// -// assert.ok(isPresent(contributorsSorted.findBy('github_username', 'neo'))); -// assert.ok(isEmpty(contributorsSorted.findBy('github_username', 'mouse'))); -// }); -// }); +import { isEmpty } from '@ember/utils'; +import { module, test } from 'qunit'; +import { setupTest } from 'ember-qunit'; +import Contributor from 'kredits-web/models/contributor'; + +module('Unit | Controller | Dashboard', function(hooks) { + setupTest(hooks); + + let addFixtures = function(controller) { + [ + { github_username: "neo", github_uid: "318", totalKreditsEarned: 10000 }, + { github_username: "morpheus", github_uid: "843", totalKreditsEarned: 15000 }, + { github_username: "trinity", github_uid: "123", totalKreditsEarned: 5000 }, + { github_username: "mouse", github_uid: "696", totalKreditsEarned: 0 } + ].forEach(fixture => { + controller.get('kredits.contributors').push(Contributor.create(fixture)); + }); + }; + + test('doesn\'t contain people with 0 balance', function(assert) { + const controller = this.owner.lookup('controller:dashboard'); + addFixtures(controller); + + const kreditsToplistSorted = controller.get('kreditsToplistSorted'); + + assert.equal(kreditsToplistSorted.length, 3, + 'kreditsToplist contains all contributors with kredits'); + assert.ok(isEmpty(kreditsToplistSorted.findBy('github_username', 'mouse')), + 'kreditsToplist does not contain contributors with 0 kredits'); + }); +});