datahub/wherehows-web/tests/unit/utils/datasets/compliance-policy-test.js

55 lines
2.2 KiB
JavaScript
Raw Normal View History

import {
createInitialComplianceInfo,
fieldChangeSetRequiresReview,
isRecentSuggestion
} from 'wherehows-web/utils/datasets/compliance-policy';
import { mockFieldChangeSets } from 'wherehows-web/tests/helpers/datasets/compliance-policy/field-changeset-constants';
import { mockTimeStamps } from 'wherehows-web/tests/helpers/datasets/compliance-policy/recent-suggestions-constants';
import { module, test } from 'qunit';
module('Unit | Utility | datasets/compliance policy');
test('Utility function createInitialComplianceInfo exists', function(assert) {
assert.expect(2);
const mockId = 1337;
const initialComplianceInfo = {
datasetId: mockId,
complianceType: '',
compliancePurgeNote: '',
complianceEntities: [],
datasetClassification: {}
};
assert.ok(typeof createInitialComplianceInfo === 'function', 'createInitialComplianceInfo is a function');
assert.deepEqual(createInitialComplianceInfo(mockId), initialComplianceInfo, 'generates policy in expected shape');
});
test('Compliance utility function fieldChangeSetRequiresReview exists', function(assert) {
assert.ok(typeof fieldChangeSetRequiresReview === 'function', 'fieldChangeSetRequiresReview is a function');
assert.ok(typeof fieldChangeSetRequiresReview() === 'boolean', 'fieldChangeSetRequiresReview returns a boolean');
});
test('fieldChangeSetRequiresReview correctly determines if a fieldChangeSet requires review', function(assert) {
assert.expect(mockFieldChangeSets.length);
mockFieldChangeSets.forEach(changeSet =>
assert.ok(fieldChangeSetRequiresReview(changeSet) === changeSet.__requiresReview__, changeSet.__msg__)
);
});
test('isRecentSuggestion exists', function(assert) {
assert.expect(1);
assert.ok(typeof isRecentSuggestion === 'function', 'isRecentSuggestion is a function');
});
test('isRecentSuggestion correctly determines if a suggestion is recent or not', function(assert) {
assert.expect(mockTimeStamps.length);
mockTimeStamps.forEach(({ policyModificationTime, suggestionModificationTime, __isRecent__, __assertMsg__ }) => {
const recent = isRecentSuggestion(policyModificationTime, suggestionModificationTime);
assert.ok(recent === __isRecent__, `${__assertMsg__} isRecent? ${recent}`);
});
});