import { regionIdsWithinAllowed } from '../incident-region-access';

describe('regionIdsWithinAllowed', () => {
    it('allows when every requested region is in the allowed set', () => {
        expect(regionIdsWithinAllowed([1, 2], [1, 2, 3])).toBe(true);
        expect(regionIdsWithinAllowed([2], [1, 2, 3])).toBe(true);
    });

    it('denies when any requested region is outside the allowed set', () => {
        expect(regionIdsWithinAllowed([1, 99], [1, 2, 3])).toBe(false);
        expect(regionIdsWithinAllowed([99], [1, 2, 3])).toBe(false);
    });

    it('treats an empty request as allowed (no out-of-region region attached)', () => {
        expect(regionIdsWithinAllowed([], [1, 2])).toBe(true);
        expect(regionIdsWithinAllowed([], [])).toBe(true);
    });

    it('denies attaching any region when the user manages none', () => {
        expect(regionIdsWithinAllowed([1], [])).toBe(false);
    });
});
