forked from MapComplete/MapComplete
		
	
		
			
	
	
		
			51 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			51 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 
								 | 
							
								import T from "./TestHelper";
							 | 
						||
| 
								 | 
							
								import {Changes} from "../Logic/Osm/Changes";
							 | 
						||
| 
								 | 
							
								import {ChangeDescription, ChangeDescriptionTools} from "../Logic/Osm/Actions/ChangeDescription";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export default class ChangesSpec extends T {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    constructor() {
							 | 
						||
| 
								 | 
							
								        super([
							 | 
						||
| 
								 | 
							
								            ["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"
							 | 
						||
| 
								 | 
							
								                        }
							 | 
						||
| 
								 | 
							
								                    }
							 | 
						||
| 
								 | 
							
								                ]
							 | 
						||
| 
								 | 
							
								                const c = new Changes()
							 | 
						||
| 
								 | 
							
								               const descr = c.CreateChangesetObjects(
							 | 
						||
| 
								 | 
							
								                    changeDescrs,
							 | 
						||
| 
								 | 
							
								                    []
							 | 
						||
| 
								 | 
							
								                )
							 | 
						||
| 
								 | 
							
								                T.equals(0, descr.modifiedObjects.length)
							 | 
						||
| 
								 | 
							
								                T.equals(0, descr.deletedObjects.length)
							 | 
						||
| 
								 | 
							
								                T.equals(1, descr.newObjects.length)
							 | 
						||
| 
								 | 
							
								                const ch = descr.newObjects[0]
							 | 
						||
| 
								 | 
							
								                T.equals("bar", ch.tags["foo"])
							 | 
						||
| 
								 | 
							
								                T.equals("someValue", ch.tags["someKey"])
							 | 
						||
| 
								 | 
							
								            }]
							 | 
						||
| 
								 | 
							
								        ]);
							 | 
						||
| 
								 | 
							
								        
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}
							 |