35 lines
1.4 KiB
JavaScript
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');
|
|
});
|
|
});
|