mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2024-11-22 08:46:39 -06:00
54 lines
1.7 KiB
JavaScript
54 lines
1.7 KiB
JavaScript
/////////////////////////////////////////////////////////////
|
|
//
|
|
// pgAdmin 4 - PostgreSQL Tools
|
|
//
|
|
// Copyright (C) 2013 - 2022, The pgAdmin Development Team
|
|
// This software is released under the PostgreSQL Licence
|
|
//
|
|
//////////////////////////////////////////////////////////////
|
|
|
|
import jasmineEnzyme from 'jasmine-enzyme';
|
|
import React from 'react';
|
|
import '../helper/enzyme.helper';
|
|
import {default as OrigCodeMirror} from 'bundled_codemirror';
|
|
|
|
import CodeMirror from 'sources/components/CodeMirror';
|
|
import { mount } from 'enzyme';
|
|
|
|
describe('CodeMirror', ()=>{
|
|
let cmInstance, options={
|
|
lineNumbers: true,
|
|
mode: 'text/x-pgsql',
|
|
},
|
|
cmObj = jasmine.createSpyObj('cmObj', {
|
|
'getValue':()=>'',
|
|
'setValue': ()=>{/*This is intentional (SonarQube)*/},
|
|
'refresh': ()=>{/*This is intentional (SonarQube)*/},
|
|
'setOption': ()=>{/*This is intentional (SonarQube)*/},
|
|
'removeKeyMap': ()=>{/*This is intentional (SonarQube)*/},
|
|
'addKeyMap': ()=>{/*This is intentional (SonarQube)*/},
|
|
'getWrapperElement': document.createElement('div'),
|
|
});
|
|
beforeEach(()=>{
|
|
jasmineEnzyme();
|
|
spyOn(OrigCodeMirror, 'fromTextArea').and.returnValue(cmObj);
|
|
cmInstance = mount(
|
|
<CodeMirror
|
|
value={'Init text'}
|
|
options={options}
|
|
className="testClass"
|
|
/>);
|
|
});
|
|
|
|
it('init', ()=>{
|
|
/* textarea ref passed to fromTextArea */
|
|
expect(OrigCodeMirror.fromTextArea).toHaveBeenCalledWith(cmInstance.find('textarea').getDOMNode(), options);
|
|
expect(cmObj.setValue).toHaveBeenCalledWith('Init text');
|
|
});
|
|
|
|
it('change value', ()=>{
|
|
cmInstance.setProps({value: 'the new text'});
|
|
expect(cmObj.setValue).toHaveBeenCalledWith('the new text');
|
|
});
|
|
});
|