| 
									
										
										
										
											2022-03-23 19:48:06 +01:00
										 |  |  | import { describe } from "mocha" | 
					
						
							|  |  |  | import { expect } from "chai" | 
					
						
							|  |  |  | import { Utils } from "../../../../Utils" | 
					
						
							|  |  |  | import { DesugaringContext } from "../../../../Models/ThemeConfig/Conversion/Conversion" | 
					
						
							|  |  |  | import { LayerConfigJson } from "../../../../Models/ThemeConfig/Json/LayerConfigJson" | 
					
						
							|  |  |  | import { TagRenderingConfigJson } from "../../../../Models/ThemeConfig/Json/TagRenderingConfigJson" | 
					
						
							|  |  |  | import { PrepareLayer } from "../../../../Models/ThemeConfig/Conversion/PrepareLayer" | 
					
						
							|  |  |  | import * as bookcases from "../../../../assets/layers/public_bookcase/public_bookcase.json" | 
					
						
							|  |  |  | import CreateNoteImportLayer from "../../../../Models/ThemeConfig/Conversion/CreateNoteImportLayer" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | describe("CreateNoteImportLayer", () => { | 
					
						
							|  |  |  |     it("should generate a layerconfig", () => { | 
					
						
							|  |  |  |         const desugaringState: DesugaringContext = { | 
					
						
							|  |  |  |             sharedLayers: new Map<string, LayerConfigJson>(), | 
					
						
							|  |  |  |             tagRenderings: new Map<string, TagRenderingConfigJson>(), | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         const layerPrepare = new PrepareLayer(desugaringState) | 
					
						
							|  |  |  |         const layer = layerPrepare.convertStrict( | 
					
						
							|  |  |  |             bookcases, | 
					
						
							|  |  |  |             "ImportLayerGeneratorTest:Parse bookcases" | 
					
						
							|  |  |  |         ) | 
					
						
							|  |  |  |         const generator = new CreateNoteImportLayer() | 
					
						
							|  |  |  |         const generatedLayer: LayerConfigJson = generator.convertStrict( | 
					
						
							|  |  |  |             layer, | 
					
						
							|  |  |  |             "ImportLayerGeneratorTest: convert" | 
					
						
							|  |  |  |         ) | 
					
						
							| 
									
										
										
										
											2022-07-18 02:19:59 +02:00
										 |  |  |         expect(generatedLayer.isShown["and"][1].or[0].and[0]).deep.equal( | 
					
						
							|  |  |  |             "_tags~(^|.*;)amenity=public_bookcase($|;.*)" | 
					
						
							|  |  |  |         ) | 
					
						
							| 
									
										
										
										
											2022-03-23 19:48:06 +01:00
										 |  |  |         expect(generatedLayer.minzoom <= layer.minzoom, "Zoomlevel is to high").true | 
					
						
							|  |  |  |         let renderings = Utils.NoNull( | 
					
						
							|  |  |  |             Utils.NoNull( | 
					
						
							|  |  |  |                 generatedLayer.tagRenderings.map((tr) => (<TagRenderingConfigJson>tr).render) | 
					
						
							|  |  |  |             ).map((render) => render["en"]) | 
					
						
							| 
									
										
										
										
											2022-09-08 21:40:48 +02:00
										 |  |  |         ) | 
					
						
							| 
									
										
										
										
											2022-03-23 19:48:06 +01:00
										 |  |  |         expect( | 
					
						
							|  |  |  |             renderings.some((r) => r.indexOf("import_button") > 0), | 
					
						
							|  |  |  |             "no import button found" | 
					
						
							|  |  |  |         ).true | 
					
						
							|  |  |  |     }) | 
					
						
							|  |  |  | }) |