Files
kredits-web/tests/unit/controllers/dashboard/contributions/show-test.js
T

35 lines
1.4 KiB
JavaScript

import { module, test } from 'qunit';
import { setupTest } from 'ember-qunit';
import contributors from '../../../../fixtures/contributors';
import contributions from '../../../../fixtures/contributions';
module('Unit | Controller | dashboard/contributions/show', function(hooks) {
setupTest(hooks);
test('#siblingContributions returns co-contributor contributions for a grouped contribution', function(assert) {
let kredits = this.owner.lookup('service:kredits');
kredits.set('contributors', contributors);
kredits.set('contributions', contributions);
let controller = this.owner.lookup('controller:dashboard.contributions.show');
// id=1 shares a url with id=3
controller.set('model', contributions.findBy('id', 1));
const siblings = controller.siblingContributions;
assert.equal(siblings.length, 1, 'one sibling');
assert.equal(siblings[0].id, 3, 'sibling is contribution 3');
});
test('#siblingContributions returns empty for a manual contribution without url', function(assert) {
let kredits = this.owner.lookup('service:kredits');
kredits.set('contributors', contributors);
kredits.set('contributions', contributions);
let controller = this.owner.lookup('controller:dashboard.contributions.show');
// id=2 has no url
controller.set('model', contributions.findBy('id', 2));
assert.deepEqual(controller.siblingContributions, [], 'no siblings for manual contribution');
});
});