permission.directive.spec.ts
1.23 KB
import {Input, provide, Component} from 'ng-forward';
import {PermissionDirective} from "./permission.directive";
import * as helpers from "../../../../spec/helpers";
const htmlTemplate: string = '<div permission="ctrl.permissions" permission-action="action"></div>';
describe("Permission directive", () => {
let element = jasmine.createSpyObj("$element", ["css"]);
let scope = jasmine.createSpyObj("$scope", ["$watch", "$eval"]);
scope.$watch = (param: string, f: Function) => { f(); };
scope.$eval = (param: any) => { return param; };
it("hide element when there is no permission action in the permissions array", (done: Function) => {
let attrs: any = { permission: [], permissionAction: 'action' };
let directive = new PermissionDirective(<any>attrs, scope, element);
expect(element.css).toHaveBeenCalledWith('display', 'none');
done();
});
it("show element when the permission action exists in the permissions array", (done: Function) => {
let attrs = { permission: ['action'], permissionAction: 'action' };
let directive = new PermissionDirective(<any>attrs, scope, element);
expect(element.css).toHaveBeenCalledWith('display', '');
done();
});
});