WIP Group contributions by URL

This commit is contained in:
2026-07-26 14:08:02 +02:00
parent 606f5c9383
commit a7e017971a
6 changed files with 218 additions and 4 deletions
@@ -0,0 +1,48 @@
import { module, test } from 'qunit';
import EmberObject from '@ember/object';
import contributionGroupingKey from 'kredits-web/utils/contribution-grouping-key';
function makeContribution (url) {
return EmberObject.create({ url });
}
module('Unit | Utils | contribution-grouping-key', function() {
test('returns the url when present', function(assert) {
const c = makeContribution('https://github.com/67P/kredits-contracts/pull/196');
assert.equal(contributionGroupingKey(c), 'https://github.com/67P/kredits-contracts/pull/196');
});
test('returns the same key for identical github urls', function(assert) {
const a = makeContribution('https://github.com/67P/kredits-contracts/pull/196');
const b = makeContribution('https://github.com/67P/kredits-contracts/pull/196');
assert.equal(contributionGroupingKey(a), contributionGroupingKey(b));
});
test('returns the same key for identical gitea urls', function(assert) {
const a = makeContribution('https://gitea.kosmos.org/kredits/kredits-web/issues/231');
const b = makeContribution('https://gitea.kosmos.org/kredits/kredits-web/issues/231');
assert.equal(contributionGroupingKey(a), contributionGroupingKey(b));
});
test('returns different keys for different urls', function(assert) {
const a = makeContribution('https://github.com/67P/kredits-contracts/pull/196');
const b = makeContribution('https://github.com/67P/kredits-contracts/pull/197');
assert.notEqual(contributionGroupingKey(a), contributionGroupingKey(b));
});
test('returns null when url is empty', function(assert) {
const c = makeContribution('');
assert.equal(contributionGroupingKey(c), null);
});
test('returns null when url is null/undefined', function(assert) {
assert.equal(contributionGroupingKey(makeContribution(null)), null);
assert.equal(contributionGroupingKey(makeContribution(undefined)), null);
});
test('returns null when contribution is null/undefined', function(assert) {
assert.equal(contributionGroupingKey(null), null);
assert.equal(contributionGroupingKey(undefined), null);
});
});