|
|
@@ -23,28 +23,30 @@ describe('PassportService test', () => {
|
|
|
});
|
|
|
|
|
|
/* eslint-disable indent */
|
|
|
+ let i = 0;
|
|
|
describe.each`
|
|
|
conditionId | departments | positions | ruleStr | expected
|
|
|
- ${1} | ${[]} | ${['Leader']} | ${'Position'} | ${true}
|
|
|
- ${2} | ${[]} | ${['Leader']} | ${'Position: Leader'} | ${true}
|
|
|
- ${3} | ${['A']} | ${[]} | ${'Department: A || Department: B && Position: Leader'} | ${true}
|
|
|
- ${4} | ${['B']} | ${['Leader']} | ${'Department: A || Department: B && Position: Leader'} | ${true}
|
|
|
- ${5} | ${['A', 'C']} | ${['Leader']} | ${'Department: A || Department: B && Position: Leader'} | ${true}
|
|
|
- ${6} | ${['B', 'C']} | ${['Leader']} | ${'Department: A || Department: B && Position: Leader'} | ${true}
|
|
|
- ${7} | ${[]} | ${[]} | ${'Department: A || Department: B && Position: Leader'} | ${false}
|
|
|
- ${8} | ${['C']} | ${['Leader']} | ${'Department: A || Department: B && Position: Leader'} | ${false}
|
|
|
- ${9} | ${['A']} | ${['Leader']} | ${'(Department: A || Department: B) && Position: Leader'} | ${true}
|
|
|
- ${10} | ${['B']} | ${['Leader']} | ${'(Department: A || Department: B) && Position: Leader'} | ${true}
|
|
|
- ${11} | ${['C']} | ${['Leader']} | ${'(Department: A || Department: B) && Position: Leader'} | ${false}
|
|
|
- ${12} | ${['A', 'B']} | ${[]} | ${'(Department: A || Department: B) && Position: Leader'} | ${false}
|
|
|
- ${13} | ${['A']} | ${[]} | ${'Department: A NOT Position: Leader'} | ${true}
|
|
|
- ${14} | ${['A']} | ${['Leader']} | ${'Department: A NOT Position: Leader'} | ${false}
|
|
|
- ${15} | ${[]} | ${['Leader']} | ${'Department: A OR (Position NOT Position: User)'} | ${true}
|
|
|
- ${16} | ${[]} | ${['User']} | ${'Department: A OR (Position NOT Position: User)'} | ${false}
|
|
|
+ ${i++} | ${undefined} | ${undefined} | ${'Department: A'} | ${false}
|
|
|
+ ${i++} | ${[]} | ${['Leader']} | ${'Position'} | ${true}
|
|
|
+ ${i++} | ${[]} | ${['Leader']} | ${'Position: Leader'} | ${true}
|
|
|
+ ${i++} | ${['A']} | ${[]} | ${'Department: A || Department: B && Position: Leader'} | ${true}
|
|
|
+ ${i++} | ${['B']} | ${['Leader']} | ${'Department: A || Department: B && Position: Leader'} | ${true}
|
|
|
+ ${i++} | ${['A', 'C']} | ${['Leader']} | ${'Department: A || Department: B && Position: Leader'} | ${true}
|
|
|
+ ${i++} | ${['B', 'C']} | ${['Leader']} | ${'Department: A || Department: B && Position: Leader'} | ${true}
|
|
|
+ ${i++} | ${[]} | ${[]} | ${'Department: A || Department: B && Position: Leader'} | ${false}
|
|
|
+ ${i++} | ${['C']} | ${['Leader']} | ${'Department: A || Department: B && Position: Leader'} | ${false}
|
|
|
+ ${i++} | ${['A']} | ${['Leader']} | ${'(Department: A || Department: B) && Position: Leader'} | ${true}
|
|
|
+ ${i++} | ${['B']} | ${['Leader']} | ${'(Department: A || Department: B) && Position: Leader'} | ${true}
|
|
|
+ ${i++} | ${['C']} | ${['Leader']} | ${'(Department: A || Department: B) && Position: Leader'} | ${false}
|
|
|
+ ${i++} | ${['A', 'B']} | ${[]} | ${'(Department: A || Department: B) && Position: Leader'} | ${false}
|
|
|
+ ${i++} | ${['A']} | ${[]} | ${'Department: A NOT Position: Leader'} | ${true}
|
|
|
+ ${i++} | ${['A']} | ${['Leader']} | ${'Department: A NOT Position: Leader'} | ${false}
|
|
|
+ ${i++} | ${[]} | ${['Leader']} | ${'Department: A OR (Position NOT Position: User)'} | ${true}
|
|
|
+ ${i++} | ${[]} | ${['User']} | ${'Department: A OR (Position NOT Position: User)'} | ${false}
|
|
|
`('to be $expected under rule="$ruleStr"', ({
|
|
|
conditionId, departments, positions, ruleStr, expected,
|
|
|
}) => {
|
|
|
- test(`when condition=${conditionId}`, async() => {
|
|
|
+ test(`when conditionId=${conditionId}`, async() => {
|
|
|
const responseMock = {};
|
|
|
|
|
|
// setup mock implementation
|