mirror of https://github.com/ghostfolio/ghostfolio
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
968 B
31 lines
968 B
import { getPermissions, permissions } from './permissions';
|
|
|
|
describe('permissions', () => {
|
|
it('grants budget and expense permissions to users and admins only', () => {
|
|
const featurePermissions = [
|
|
permissions.createBudget,
|
|
permissions.createExpense,
|
|
permissions.createExpenseCategory,
|
|
permissions.deleteBudget,
|
|
permissions.deleteExpense,
|
|
permissions.deleteExpenseCategory,
|
|
permissions.readBudgets,
|
|
permissions.readExpenses,
|
|
permissions.readExpenseCategories,
|
|
permissions.updateBudget,
|
|
permissions.updateExpense,
|
|
permissions.updateExpenseCategory
|
|
];
|
|
|
|
expect(getPermissions('ADMIN')).toEqual(
|
|
expect.arrayContaining(featurePermissions)
|
|
);
|
|
expect(getPermissions('USER')).toEqual(
|
|
expect.arrayContaining(featurePermissions)
|
|
);
|
|
|
|
for (const permission of featurePermissions) {
|
|
expect(getPermissions('DEMO')).not.toContain(permission);
|
|
}
|
|
});
|
|
});
|
|
|