describe('Directive dialog', () => {
    let $element;
    let element;
    let compile;
    let controller;

    beforeEach(ngModule('vnCore'));

    compile = _element => {
        inject(($compile, $rootScope) => {
            let $scope = $rootScope.$new();
            $scope.myDialog = controller;
            element = angular.element(_element);
            $compile(element)($scope);
            $scope.$digest();
        });
    };

    beforeEach(inject(($rootScope, $compile) => {
        $element = $compile('<vn-dialog><tpl-body></tpl-body></vn-dialog>')($rootScope);
        controller = $element.controller('vnDialog');
    }));

    it('should call show() function if dialog is a instance of vnDialog', () => {
        let html = `<div vn-dialog="myDialog"></div>`;
        jest.spyOn(controller, 'show');
        compile(html);
        element[0].click();

        expect(controller.show).toHaveBeenCalledWith();
    });
});