Hide contributors with 0 kredits in toplist

This commit is contained in:
2025-02-16 13:45:48 +04:00
parent 67538a9437
commit d67bfd59da
3 changed files with 36 additions and 31 deletions
+4 -1
View File
@@ -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'),
+1 -1
View File
@@ -11,7 +11,7 @@
{{/if}}
</header>
<div class="content">
<ContributorList @contributorList={{this.kreditsToplist}}
<ContributorList @contributorList={{this.kreditsToplistSorted}}
@showUnconfirmedKredits={{this.showUnconfirmedKredits}}
@selectedContributorId={{this.selectedContributorId}}
@loading={{this.kredits.syncContributors.isRunning}} />
+31 -29
View File
@@ -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');
});
});