49 lines
2.1 KiB
JavaScript
49 lines
2.1 KiB
JavaScript
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);
|
|
});
|
|
});
|