mirror of
https://github.com/datahub-project/datahub.git
synced 2025-07-31 13:27:58 +00:00
84 lines
2.7 KiB
JavaScript
84 lines
2.7 KiB
JavaScript
import { module, test } from 'qunit';
|
|
import { updateOwner, confirmOwner, ownerAlreadyExists } from 'wherehows-web/constants/datasets/owner';
|
|
import owners from 'wherehows-web/mirage/fixtures/owners';
|
|
|
|
let testOwners;
|
|
let testOwner;
|
|
|
|
module('Unit | Constants | constants/datasets/owner', {
|
|
beforeEach() {
|
|
testOwners = JSON.parse(JSON.stringify(owners));
|
|
testOwner = testOwners[0];
|
|
}
|
|
});
|
|
|
|
test('updateOwner behaves as expected', function(assert) {
|
|
assert.expect(6);
|
|
|
|
assert.ok(typeof updateOwner === 'function', 'exported property updateOwner is a function');
|
|
|
|
assert.ok(
|
|
typeof updateOwner() === 'undefined',
|
|
'invoking update owner without arguments is undefined and does not throw'
|
|
);
|
|
|
|
const testOwnerConfirmedBy = 'testOwner';
|
|
let result = updateOwner(testOwners, testOwner, 'confirmedBy', testOwnerConfirmedBy);
|
|
let [updatedTestOwner] = result;
|
|
|
|
assert.ok(Array.isArray(result), 'invoking updateOwner with expected arguments is an array');
|
|
|
|
assert.ok(testOwner !== updatedTestOwner, 'updateOwner does not mutate the original owner reference');
|
|
|
|
assert.equal(
|
|
updatedTestOwner.confirmedBy,
|
|
testOwnerConfirmedBy,
|
|
'correctly updates a property on the owner object when a single property is specified'
|
|
);
|
|
|
|
testOwner = testOwners[0];
|
|
result = updateOwner(testOwners, testOwner, { confirmedBy: null });
|
|
updatedTestOwner = result[0];
|
|
|
|
assert.equal(
|
|
updatedTestOwner.confirmedBy,
|
|
null,
|
|
'correctly updates properties on the owner object when a hash of properties is provided'
|
|
);
|
|
});
|
|
|
|
test('confirmOwner behaves as expected', function(assert) {
|
|
assert.ok(typeof confirmOwner === 'function', 'exported property confirmOwner is a function');
|
|
confirmOwner(testOwner);
|
|
|
|
assert.ok(
|
|
testOwner.confirmedBy === null,
|
|
'invoking confirmOwner without a second argument set the confirmedBy attr to null'
|
|
);
|
|
confirmOwner(testOwner, 'testOwner');
|
|
assert.ok(
|
|
testOwner.confirmedBy === 'testOwner',
|
|
'confirmOwner correctly updates to confirmedBy attr when invoked with a string arguments'
|
|
);
|
|
});
|
|
|
|
test('ownerAlreadyExists behaves as expected', function(assert) {
|
|
const [{ userName, source }] = testOwners;
|
|
|
|
assert.ok(typeof ownerAlreadyExists === 'function', 'exported property ownerAlreadyExists is a function');
|
|
|
|
assert.ok(
|
|
ownerAlreadyExists(testOwners, { userName, source }),
|
|
'ownerAlreadyExists correctly asserts that an owner with userName, source combination already exists'
|
|
);
|
|
|
|
assert.notOk(
|
|
ownerAlreadyExists(testOwners, { userName }),
|
|
'ownerAlreadyExists does not assert an owner exists when source is not present'
|
|
);
|
|
assert.notOk(
|
|
ownerAlreadyExists(testOwners, { source }),
|
|
'ownerAlreadyExists does not assert an owner exists when userName is not present'
|
|
);
|
|
});
|