forked from MapComplete/MapComplete
		
	Add OsmFeatureSource-test
This commit is contained in:
		
							parent
							
								
									06bc136b85
								
							
						
					
					
						commit
						21b268be61
					
				
					 2 changed files with 71 additions and 0 deletions
				
			
		
							
								
								
									
										70
									
								
								test/Logic/FeatureSource/OsmFeatureSource.spec.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								test/Logic/FeatureSource/OsmFeatureSource.spec.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,70 @@ | |||
| import {describe} from 'mocha' | ||||
| import OsmFeatureSource from "../../../Logic/FeatureSource/TiledFeatureSource/OsmFeatureSource"; | ||||
| import {UIEventSource} from "../../../Logic/UIEventSource"; | ||||
| import ScriptUtils from "../../../scripts/ScriptUtils"; | ||||
| import FilteredLayer, {FilterState} from "../../../Models/FilteredLayer"; | ||||
| import {Tiles} from "../../../Models/TileRange"; | ||||
| import {readFileSync} from "fs"; | ||||
| import {Utils} from "../../../Utils"; | ||||
| import {Tag} from "../../../Logic/Tags/Tag"; | ||||
| import LayerConfig from "../../../Models/ThemeConfig/LayerConfig"; | ||||
| import {expect} from "chai"; | ||||
| 
 | ||||
| console.log(process.cwd()) | ||||
| let data = JSON.parse(readFileSync("./test/Logic/FeatureSource/osmdata.json", "utf8")) | ||||
| 
 | ||||
| 
 | ||||
| describe("OsmFeatureSource", () => { | ||||
| 
 | ||||
|     it("should work", (done) => { | ||||
|         ScriptUtils.fixUtils() | ||||
|         Utils.injectJsonDownloadForTests("https://osm.org/api/0.6/map?bbox=4.24346923828125,50.732978448277514,4.2462158203125,50.73471682490244", data) | ||||
|         let fetchedTile = undefined; | ||||
|         const neededTiles = new UIEventSource<number[]>([Tiles.tile_index(17, 67081, 44033)]); | ||||
|         new OsmFeatureSource({ | ||||
|             allowedFeatures: new Tag("amenity", "school"), | ||||
|             handleTile: tile => { | ||||
|                 fetchedTile = tile | ||||
|                 const data = tile.features.data[0].feature | ||||
|                 expect(data.properties).deep.eq({ | ||||
|                     id: 'relation/5759328', timestamp: '2022-06-10T00:46:55Z', | ||||
|                     version: 6, | ||||
|                     changeset: 122187206, | ||||
|                     user: 'Pieter Vander Vennet', | ||||
|                     uid: 3818858, | ||||
|                     amenity: 'school', | ||||
|                     'isced:2011:level': 'vocational_lower_secondary;vocational_upper_secondary', | ||||
|                     name: 'Koninklijk Technisch Atheneum Pro Technica', | ||||
|                     'school:gender': 'mixed', | ||||
|                     type: 'multipolygon', | ||||
|                     website: 'http://ktahalle.be/', | ||||
|                     _backend: 'https://osm.org' | ||||
|                 }) | ||||
|                 expect(data.geometry.type).eq("MultiPolygon") | ||||
|                 done() | ||||
|             }, | ||||
|             isActive: new UIEventSource<boolean>(true), | ||||
|             neededTiles, | ||||
|             state: { | ||||
|                 osmConnection: { | ||||
|                     Backend(): string { | ||||
|                         return "https://osm.org" | ||||
|                     } | ||||
|                 }, | ||||
|                 filteredLayers: new UIEventSource<FilteredLayer[]>([ | ||||
|                     { | ||||
|                         appliedFilters: new UIEventSource<Map<string, FilterState>>(undefined), | ||||
|                         layerDef: new LayerConfig({ | ||||
|                             id: "school", | ||||
|                             source: { | ||||
|                                 osmTags: "amenity=school" | ||||
|                             }, | ||||
|                             mapRendering: null | ||||
|                         }), | ||||
|                         isDisplayed: new UIEventSource<boolean>(true) | ||||
|                     } | ||||
|                 ]) | ||||
|             } | ||||
|         }) | ||||
|     }) | ||||
| }) | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue