2022-03-17 21:51:53 +01:00
|
|
|
import { ChangeDescription } from "../../../Logic/Osm/Actions/ChangeDescription"
|
|
|
|
import { Changes } from "../../../Logic/Osm/Changes"
|
2023-02-03 04:48:32 +01:00
|
|
|
import { expect, it } from "vitest"
|
2023-06-14 20:39:36 +02:00
|
|
|
import { ImmutableStore } from "../../../Logic/UIEventSource"
|
|
|
|
import { OsmConnection } from "../../../Logic/Osm/OsmConnection"
|
2022-03-17 21:51:53 +01:00
|
|
|
|
|
|
|
it("Generate preXML from changeDescriptions", () => {
|
|
|
|
const changeDescrs: ChangeDescription[] = [
|
|
|
|
{
|
|
|
|
type: "node",
|
|
|
|
id: -1,
|
|
|
|
changes: {
|
|
|
|
lat: 42,
|
|
|
|
lon: -8,
|
|
|
|
},
|
|
|
|
tags: [{ k: "someKey", v: "someValue" }],
|
|
|
|
meta: {
|
|
|
|
changeType: "create",
|
|
|
|
theme: "test",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
type: "node",
|
|
|
|
id: -1,
|
|
|
|
tags: [{ k: "foo", v: "bar" }],
|
|
|
|
meta: {
|
|
|
|
changeType: "answer",
|
|
|
|
theme: "test",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
]
|
2023-05-17 13:16:43 +02:00
|
|
|
const c = new Changes({
|
|
|
|
dryRun: new ImmutableStore(true),
|
2023-06-14 20:39:36 +02:00
|
|
|
osmConnection: new OsmConnection(),
|
2023-05-17 13:16:43 +02:00
|
|
|
})
|
2022-03-17 21:51:53 +01:00
|
|
|
const descr = c.CreateChangesetObjects(changeDescrs, [])
|
2023-02-03 04:48:32 +01:00
|
|
|
expect(descr.modifiedObjects).toHaveLength(0)
|
|
|
|
expect(descr.deletedObjects).toHaveLength(0)
|
|
|
|
expect(descr.newObjects).toHaveLength(1)
|
2022-03-17 21:51:53 +01:00
|
|
|
|
|
|
|
const ch = descr.newObjects[0]
|
2023-02-03 04:48:32 +01:00
|
|
|
expect(ch.tags["foo"]).toBe("bar")
|
|
|
|
expect(ch.tags["someKey"]).toBe("someValue")
|
2022-03-17 21:51:53 +01:00
|
|
|
})
|