blob: a3fd54b7f38f17ba0ea14497bb6e792fe5a7eb04 [file] [log] [blame]
// Licensed under the Apache License, Version 2.0 (the "License"); you may not
// use this file except in compliance with the License. You may obtain a copy of
// the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
// License for the specific language governing permissions and limitations under
// the License.
import {
isValueAlreadySet,
addValueToPermissions
} from '../helpers';
describe('Permissions - Helpers', () => {
describe('isValueAlreadySet', () => {
it('returns false if object does not have properties', () => {
let permissions = {};
expect(
isValueAlreadySet(permissions, 'admins', 'names', 'rocko')
).toBe(false);
permissions = { admins: {} };
expect(
isValueAlreadySet(permissions, 'admins', 'names', 'rocko')
).toBe(false);
permissions = { admins: { names: [] } };
expect(
isValueAlreadySet(permissions, 'admins', 'names', 'rocko')
).toBe(false);
});
it('confirms existing properties', () => {
const permissions = { admins: { names: ['michelle', 'rocko', 'garren'] } };
expect(
isValueAlreadySet(permissions, 'admins', 'names', 'rocko')
).toBe(true);
});
});
describe('addValueToPermissions', () => {
it('adds values, even if properties not set', () => {
const permissions = {};
expect(
addValueToPermissions(permissions, 'admins', 'names', 'rocko')
).toEqual({
admins: {
names: ['rocko']
}
});
});
it('adds values', () => {
const permissions = {
admins: {
names: ['rocko']
}
};
expect(
addValueToPermissions(permissions, 'admins', 'names', 'garren')
).toEqual({
admins: {
names: ['rocko', 'garren']
}
});
});
});
});