geospatialdraw
Version:
Geospatial Map Drawing Library
91 lines • 3.54 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
require("../../internal/tests");
var React = require("react");
var chai_1 = require("chai");
var enzyme_1 = require("enzyme");
var dms_value_editor_1 = require("./dms-value-editor");
describe('<DMSValueEditor />', function () {
var getWrapper = function (degree, minute, second, setValue) {
if (setValue === void 0) { setValue = function () { }; }
return (0, enzyme_1.shallow)(
// @ts-ignore
React.createElement(dms_value_editor_1.DMSValueEditor, { maxDegrees: 90, negativeHeadingName: "-", negativeHeadingTooltip: "", positiveHeadingName: "+", positiveHeadingTooltip: "", value: {
degree: degree,
minute: minute,
second: second,
}, setValue: setValue }));
};
describe('renders', function () {
it('default', function () {
var wrapper = getWrapper(30, 15, 7.5);
(0, chai_1.expect)(wrapper.exists()).to.equal(true);
(0, chai_1.expect)(wrapper.find('SmallInput').length).to.equal(2);
(0, chai_1.expect)(wrapper.find('WideInput').length).to.equal(1);
(0, chai_1.expect)(wrapper.find('HeadingButton').length).to.equal(2);
});
it('positive value', function () {
var wrapper = getWrapper(30, 15, 7.5);
(0, chai_1.expect)(wrapper.find('HeadingButton[isSelected=true]').childAt(0).text()).to.equal('+');
});
it('negative value', function () {
var wrapper = getWrapper(-30, 15, 7.5);
(0, chai_1.expect)(wrapper.find('HeadingButton[isSelected=true]').childAt(0).text()).to.equal('-');
});
});
describe('setValue', function () {
var getValueWrapper = function (done, expectedDMS) {
// @ts-ignore
return getWrapper(5, 5, 5, function (dms) {
(0, chai_1.expect)(dms).to.deep.equal(expectedDMS);
done();
});
};
it('degree', function (done) {
var wrapper = getValueWrapper(done, {
degree: 11,
minute: 5,
second: 5,
});
// @ts-ignore
wrapper.find('SmallInput').at(0).prop('onChange')(11);
});
it('minute', function (done) {
var wrapper = getValueWrapper(done, {
degree: 5,
minute: 45,
second: 5,
});
// @ts-ignore
wrapper.find('SmallInput').at(1).prop('onChange')(45);
});
it('second', function (done) {
var wrapper = getValueWrapper(done, {
degree: 5,
minute: 5,
second: 78,
});
// @ts-ignore
wrapper.find('WideInput').prop('onChange')(78);
});
it('positive', function (done) {
var wrapper = getValueWrapper(done, {
degree: 5,
minute: 5,
second: 5,
});
// @ts-ignore
wrapper.find('HeadingButton').at(1).prop('onClick')();
});
it('negative', function (done) {
var wrapper = getValueWrapper(done, {
degree: -5,
minute: -5,
second: -5,
});
// @ts-ignore
wrapper.find('HeadingButton').at(0).prop('onClick')();
});
});
});
//# sourceMappingURL=dms-value-editor.spec.js.map