UNPKG

bixi

Version:

企业级中后台前端解决方案

75 lines (65 loc) 3.06 kB
import { BixiACService } from './ac.service'; describe('# @bixi/ac BixiACService', () => { let ac: BixiACService; beforeEach(() => { ac = new BixiACService(); ac.setPermissions(['per_a', 'per_b']); ac.setRoles(['role_a', 'role_b']); }); it('# ac', () => { expect(ac.ac([])).toBe(true); expect(ac.ac('per_a')).toBe(true); expect(ac.ac('per_c')).toBe(false); expect(ac.ac(['per_a', 'per_b'])).toBe(true); expect(ac.ac(['per_b', 'per_c'])).toBe(false); expect(ac.ac(['per_c', 'per_d'])).toBe(false); expect(ac.ac([], { isRole: true })).toBe(true); expect(ac.ac('role_a', { isRole: true })).toBe(true); expect(ac.ac('role_d', { isRole: true })).toBe(false); expect(ac.ac(['role_a', 'role_b'], { isRole: true })).toBe(true); expect(ac.ac(['role_b', 'role_c'], { isRole: true })).toBe(false); expect(ac.ac(['role_c', 'role_d'], { isRole: true })).toBe(false); }); it('# acAny', () => { expect(ac.acAny([])).toBe(false); expect(ac.acAny('per_a')).toBe(true); expect(ac.acAny('per_c')).toBe(false); expect(ac.acAny(['per_a', 'per_b'])).toBe(true); expect(ac.acAny(['per_b', 'per_c'])).toBe(true); expect(ac.acAny(['per_c', 'per_d'])).toBe(false); expect(ac.acAny([], { isRole: true })).toBe(false); expect(ac.acAny('role_a', { isRole: true })).toBe(true); expect(ac.acAny('role_d', { isRole: true })).toBe(false); expect(ac.acAny(['role_a', 'role_b'], { isRole: true })).toBe(true); expect(ac.acAny(['role_b', 'role_c'], { isRole: true })).toBe(true); expect(ac.acAny(['role_c', 'role_d'], { isRole: true })).toBe(false); }); it('# ace', () => { expect(ac.ace([])).toBe(true); expect(ac.ace('per_a')).toBe(false); expect(ac.ace('per_c')).toBe(true); expect(ac.ace(['per_a', 'per_b'])).toBe(false); expect(ac.ace(['per_b', 'per_c'])).toBe(false); expect(ac.ace(['per_c', 'per_d'])).toBe(true); expect(ac.ace([], { isRole: true })).toBe(true); expect(ac.ace('role_a', { isRole: true })).toBe(false); expect(ac.ace('role_d', { isRole: true })).toBe(true); expect(ac.ace(['role_a', 'role_b'], { isRole: true })).toBe(false); expect(ac.ace(['role_b', 'role_c'], { isRole: true })).toBe(false); expect(ac.ace(['role_c', 'role_d'], { isRole: true })).toBe(true); }); it('# aceAny', () => { expect(ac.aceAny([])).toBe(false); expect(ac.aceAny('per_a')).toBe(false); expect(ac.aceAny('per_c')).toBe(true); expect(ac.aceAny(['per_a', 'per_b'])).toBe(false); expect(ac.aceAny(['per_b', 'per_c'])).toBe(true); expect(ac.aceAny(['per_c', 'per_d'])).toBe(true); expect(ac.aceAny([], { isRole: true })).toBe(false); expect(ac.aceAny('role_a', { isRole: true })).toBe(false); expect(ac.aceAny('role_d', { isRole: true })).toBe(true); expect(ac.aceAny(['role_a', 'role_b'], { isRole: true })).toBe(false); expect(ac.aceAny(['role_b', 'role_c'], { isRole: true })).toBe(true); expect(ac.aceAny(['role_c', 'role_d'], { isRole: true })).toBe(true); }); });