Tests for Transaction writes
This commit is contained in:
@@ -1532,5 +1532,68 @@ describe('ol.format.WFS', function () {
|
|||||||
expect(features.length).to.be(1);
|
expect(features.length).to.be(1);
|
||||||
expect(features[0]).to.be.an(Feature);
|
expect(features[0]).to.be.an(Feature);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('when writing out a Transaction request', function () {
|
||||||
|
it('creates a handle', function () {
|
||||||
|
const text =
|
||||||
|
'<wfs:Transaction xmlns:wfs="http://www.opengis.net/wfs/2.0" ' +
|
||||||
|
'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
|
||||||
|
'service="WFS" version="2.0.0" handle="handle_t" ' +
|
||||||
|
'xsi:schemaLocation="http://www.opengis.net/wfs/2.0 ' +
|
||||||
|
'http://schemas.opengis.net/wfs/2.0/wfs.xsd"/>';
|
||||||
|
const serialized = new WFS({
|
||||||
|
version: '2.0.0',
|
||||||
|
}).writeTransaction(null, null, null, {
|
||||||
|
handle: 'handle_t',
|
||||||
|
});
|
||||||
|
expect(serialized).to.xmleql(parse(text));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('when writing out a Transaction request', function () {
|
||||||
|
it('creates the correct srsName', function () {
|
||||||
|
const text = `
|
||||||
|
<wfs:Transaction xmlns:wfs="http://www.opengis.net/wfs/2.0" service="WFS" version="2.0.0" xsi:schemaLocation="http://www.opengis.net/wfs/2.0 http://schemas.opengis.net/wfs/2.0/wfs.xsd"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<wfs:Insert>
|
||||||
|
<feature:FAULTS xmlns:feature="http://foo">
|
||||||
|
<feature:the_geom>
|
||||||
|
<gml:MultiCurve xmlns:gml="http://www.opengis.net/gml/3.2" srsName="EPSG:900913">
|
||||||
|
<gml:curveMember>
|
||||||
|
<gml:LineString srsName="EPSG:900913">
|
||||||
|
<gml:posList srsDimension="2">-5178372.1885436 1992365.7775042 -4434792.7774889 1601008.1927386 -4043435.1927233 2148908.8114105</gml:posList>
|
||||||
|
</gml:LineString>
|
||||||
|
</gml:curveMember>
|
||||||
|
</gml:MultiCurve>
|
||||||
|
</feature:the_geom>
|
||||||
|
<feature:TYPE>xyz</feature:TYPE>
|
||||||
|
</feature:FAULTS>
|
||||||
|
</wfs:Insert>
|
||||||
|
</wfs:Transaction>
|
||||||
|
`.trim();
|
||||||
|
const format = new WFS({
|
||||||
|
version: '2.0.0',
|
||||||
|
});
|
||||||
|
const insertFeature = new Feature({
|
||||||
|
the_geom: new MultiLineString([
|
||||||
|
[
|
||||||
|
[-5178372.1885436, 1992365.7775042],
|
||||||
|
[-4434792.7774889, 1601008.1927386],
|
||||||
|
[-4043435.1927233, 2148908.8114105],
|
||||||
|
],
|
||||||
|
]),
|
||||||
|
TYPE: 'xyz',
|
||||||
|
});
|
||||||
|
insertFeature.setGeometryName('the_geom');
|
||||||
|
const inserts = [insertFeature];
|
||||||
|
const serialized = format.writeTransaction(inserts, null, null, {
|
||||||
|
featureNS: 'http://foo',
|
||||||
|
featureType: 'FAULTS',
|
||||||
|
featurePrefix: 'feature',
|
||||||
|
gmlOptions: {multiCurve: true, srsName: 'EPSG:900913'},
|
||||||
|
});
|
||||||
|
expect(serialized).to.xmleql(parse(text));
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user