2017-06-27 09:55:57 -05:00
|
|
|
/////////////////////////////////////////////////////////////
|
|
|
|
//
|
|
|
|
// pgAdmin 4 - PostgreSQL Tools
|
|
|
|
//
|
|
|
|
// Copyright (C) 2013 - 2017, The pgAdmin Development Team
|
|
|
|
// This software is released under the PostgreSQL Licence
|
|
|
|
//
|
|
|
|
//////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
import React from 'react';
|
2017-07-18 09:13:16 -05:00
|
|
|
import $ from 'jquery';
|
2017-06-27 09:55:57 -05:00
|
|
|
import CodeMirror from '../../pgadmin/static/jsx/history/detail/code_mirror';
|
|
|
|
import jasmineEnzyme from 'jasmine-enzyme';
|
|
|
|
|
|
|
|
import {shallow} from 'enzyme';
|
|
|
|
|
|
|
|
|
|
|
|
describe('CodeMirror', () => {
|
|
|
|
beforeEach(() => {
|
|
|
|
jasmineEnzyme();
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('#hydrateWhenBecomesVisible', () => {
|
|
|
|
let codeMirror, isVisibleSpy;
|
|
|
|
|
|
|
|
beforeEach(() => {
|
|
|
|
codeMirror = shallow(<CodeMirror />).instance();
|
|
|
|
isVisibleSpy = spyOn($.fn, 'is');
|
|
|
|
spyOn(codeMirror, 'hydrate');
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('when component is visible', () => {
|
|
|
|
beforeEach(() => {
|
|
|
|
isVisibleSpy.and.returnValue(true);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should hydrate the codemirror element', () => {
|
|
|
|
codeMirror.hydrateWhenBecomesVisible();
|
|
|
|
expect(codeMirror.hydrate).toHaveBeenCalledTimes(1);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('when component is not visible', () => {
|
|
|
|
beforeEach(() => {
|
|
|
|
isVisibleSpy.and.returnValue(false);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should not hydrate the codemirror element', () => {
|
|
|
|
codeMirror.hydrateWhenBecomesVisible();
|
|
|
|
expect(codeMirror.hydrate).not.toHaveBeenCalled();
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('when becomes visible', () => {
|
|
|
|
beforeEach(() => {
|
|
|
|
isVisibleSpy.and.returnValue(true);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should hydrate the codemirror element', (done) => {
|
|
|
|
setTimeout(() => {
|
|
|
|
codeMirror.hydrateWhenBecomesVisible();
|
|
|
|
expect(codeMirror.hydrate).toHaveBeenCalledTimes(1);
|
|
|
|
done();
|
|
|
|
}, 150);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|