Files
kredits-web/tests/unit/controllers/dashboard-test.js
T
2025-02-17 09:10:04 +04:00

32 lines
1.2 KiB
JavaScript

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('kreditsToplistSorted()', function(assert) {
const controller = this.owner.lookup('controller:dashboard');
addFixtures(controller);
const kreditsToplistSorted = controller.get('kreditsToplistSorted');
assert.equal(kreditsToplistSorted.length, 3,
'contains all contributors with kredits');
assert.ok(isEmpty(kreditsToplistSorted.findBy('github_username', 'mouse')),
'does not contain contributors with 0 kredits');
});
});