From 0f8d7d84caaa2235a014aa0339d6d840384c98e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A2u=20Cao?= Date: Fri, 11 Nov 2022 16:28:59 +0100 Subject: [PATCH] Don't cache contribution details in browser storage --- app/utils/process-contribution-data.js | 8 ++++++-- .../utils/process-contribution-data-test.js | 17 ++++++++++++++--- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/app/utils/process-contribution-data.js b/app/utils/process-contribution-data.js index a12395e..0fc167c 100644 --- a/app/utils/process-contribution-data.js +++ b/app/utils/process-contribution-data.js @@ -1,4 +1,4 @@ -export default function processContributionData(data) { +export default function processContributionData(data, options={}) { const processed = {} if (data.confirmedAtBlock && (typeof data.confirmedAtBlock.toNumber === 'function')) { @@ -9,12 +9,16 @@ export default function processContributionData(data) { const otherProperties = [ 'id', 'contributorId', 'amount', 'vetoed', 'ipfsHash', 'kind', - 'description', 'details', 'url', 'date', 'time', 'pendingTx' + 'description', 'url', 'date', 'time', 'pendingTx' ]; otherProperties.forEach(prop => { processed[prop] = data[prop]; }); + if (options.includeDetails) { + processed.details = data.details; + } + return processed; } diff --git a/tests/unit/utils/process-contribution-data-test.js b/tests/unit/utils/process-contribution-data-test.js index 9c93c02..8355133 100644 --- a/tests/unit/utils/process-contribution-data-test.js +++ b/tests/unit/utils/process-contribution-data-test.js @@ -4,16 +4,18 @@ import testData from '../../fixtures/contribution-data'; module('Unit | Utility | process-contribution-data', function() { - let result = processContributionData(testData); - test('formats the data correctly', function(assert) { + const result = processContributionData(testData); + assert.ok(typeof result.confirmedAt === 'number'); }); test('copies other properties', function(assert) { + const result = processContributionData(testData); + [ 'id', 'contributorId', 'amount', 'vetoed', - 'ipfsHash', 'kind', 'description', 'details', + 'ipfsHash', 'kind', 'description', 'url', 'date', 'time', 'pendingTx' ].forEach(p => { assert.ok(Object.prototype.hasOwnProperty.call(result, p), `copies property ${p}`); @@ -21,8 +23,17 @@ module('Unit | Utility | process-contribution-data', function() { }); test('does not copy unnecessary properties', function(assert) { + const result = processContributionData(testData); + ['exists', '5'].forEach(p => { assert.notOk(Object.prototype.hasOwnProperty.call(result, p)); }) }); + + test('includeDetails option', function(assert) { + const result = processContributionData(testData, { includeDetails: true }); + + assert.ok(Object.prototype.hasOwnProperty.call(result, 'details'), 'includes the details property/value'); + }); + });