871731110b
Add util function for processing contributor data, and remove bignums, etc.
32 lines
1.1 KiB
JavaScript
32 lines
1.1 KiB
JavaScript
import { module, test } from 'qunit';
|
|
import processContributorData from 'kredits-web/utils/process-contributor-data';
|
|
import testData from '../../fixtures/contributor-data';
|
|
|
|
module('Unit | Utility | process-contributor-data', function() {
|
|
|
|
let result = processContributorData(testData);
|
|
|
|
test('formats the data correctly', function(assert) {
|
|
// TODO use integers everywhere for IDs
|
|
assert.ok(typeof result.id == 'string');
|
|
assert.ok(typeof result.balance == 'number');
|
|
assert.ok(typeof result.totalKreditsEarned == 'number');
|
|
assert.ok(typeof result.contributionsCount == 'number');
|
|
});
|
|
|
|
test('copies other properties', function(assert) {
|
|
[
|
|
'account', 'accounts', 'ipfsHash', 'isCore', 'kind', 'name', 'url',
|
|
'github_username', 'github_uid', 'wiki_username', 'zoom_display_name'
|
|
].forEach(p => {
|
|
assert.ok(Object.prototype.hasOwnProperty.call(result, p), `copies property ${p}`);
|
|
})
|
|
});
|
|
|
|
test('does not copy unnecessary properties', function(assert) {
|
|
['exists', '5'].forEach(p => {
|
|
assert.notOk(Object.prototype.hasOwnProperty.call(result, p));
|
|
})
|
|
});
|
|
});
|