| 
									
										
										
										
											2022-03-24 03:30:05 +01:00
										 |  |  | import {describe} from 'mocha' | 
					
						
							|  |  |  | import {expect} from 'chai' | 
					
						
							|  |  |  | import LayoutConfig from "../../../../Models/ThemeConfig/LayoutConfig"; | 
					
						
							|  |  |  | import {FixLegacyTheme} from "../../../../Models/ThemeConfig/Conversion/LegacyJsonConvert"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | describe("FixLegacyTheme", () => { | 
					
						
							|  |  |  |      | 
					
						
							|  |  |  |     it("should create a working theme config", () => { | 
					
						
							|  |  |  |             const walking_node_theme = { | 
					
						
							|  |  |  |                 "id": "walkingnodenetworks", | 
					
						
							|  |  |  |                 "title": { | 
					
						
							|  |  |  |                     "en": "Walking node networks" | 
					
						
							|  |  |  |                 }, | 
					
						
							|  |  |  |                 "maintainer": "L'imaginaire", | 
					
						
							|  |  |  |                 "icon": "https://upload.wikimedia.org/wikipedia/commons/3/30/Man_walking_icon_1410105361.svg", | 
					
						
							|  |  |  |                 "description": { | 
					
						
							|  |  |  |                     "en": "This map shows walking node networks" | 
					
						
							|  |  |  |                 }, | 
					
						
							|  |  |  |                 "language": [ | 
					
						
							|  |  |  |                     "en" | 
					
						
							|  |  |  |                 ], | 
					
						
							|  |  |  |                 socialImage: "img.jpg", | 
					
						
							|  |  |  |                 "version": "2021-10-02", | 
					
						
							|  |  |  |                 "startLat": 51.1599, | 
					
						
							|  |  |  |                 "startLon": 3.34750, | 
					
						
							|  |  |  |                 "startZoom": 12, | 
					
						
							|  |  |  |                 "clustering": { | 
					
						
							|  |  |  |                     "maxZoom": 12 | 
					
						
							|  |  |  |                 }, | 
					
						
							|  |  |  |                 "layers": [ | 
					
						
							|  |  |  |                     { | 
					
						
							|  |  |  |                         "id": "node2node", | 
					
						
							|  |  |  |                         "name": { | 
					
						
							|  |  |  |                             "en": "node to node links" | 
					
						
							|  |  |  |                         }, | 
					
						
							|  |  |  |                         "source": { | 
					
						
							|  |  |  |                             "osmTags": { | 
					
						
							|  |  |  |                                 "and": [ | 
					
						
							|  |  |  |                                     "network=rwn", | 
					
						
							|  |  |  |                                     "network:type=node_network" | 
					
						
							|  |  |  |                                 ] | 
					
						
							|  |  |  |                             } | 
					
						
							|  |  |  |                         }, | 
					
						
							|  |  |  |                         "minzoom": 12, | 
					
						
							|  |  |  |                         "title": { | 
					
						
							|  |  |  |                             "render": { | 
					
						
							|  |  |  |                                 "en": "node to node link" | 
					
						
							|  |  |  |                             }, | 
					
						
							|  |  |  |                             "mappings": [ | 
					
						
							|  |  |  |                                 { | 
					
						
							|  |  |  |                                     "if": "ref~*", | 
					
						
							|  |  |  |                                     "then": { | 
					
						
							|  |  |  |                                         "en": "node to node link <strong>{ref}</strong>" | 
					
						
							|  |  |  |                                     } | 
					
						
							|  |  |  |                                 } | 
					
						
							|  |  |  |                             ] | 
					
						
							|  |  |  |                         }, | 
					
						
							|  |  |  |                         "width": { | 
					
						
							|  |  |  |                             "render": "4" | 
					
						
							|  |  |  |                         }, | 
					
						
							|  |  |  |                         "color": { | 
					
						
							|  |  |  |                             "render": "#8b1e20" | 
					
						
							|  |  |  |                         }, | 
					
						
							|  |  |  |                         "tagRenderings": [ | 
					
						
							|  |  |  |                             { | 
					
						
							|  |  |  |                                 "question": { | 
					
						
							|  |  |  |                                     "en": "When was this node to node link last surveyed?" | 
					
						
							|  |  |  |                                 }, | 
					
						
							|  |  |  |                                 "render": { | 
					
						
							|  |  |  |                                     "en": "This node to node link was last surveyed on {survey:date}" | 
					
						
							|  |  |  |                                 }, | 
					
						
							|  |  |  |                                 "freeform": { | 
					
						
							|  |  |  |                                     "key": "survey:date", | 
					
						
							|  |  |  |                                     "type": "date" | 
					
						
							|  |  |  |                                 }, | 
					
						
							|  |  |  |                                 "mappings": [ | 
					
						
							|  |  |  |                                     { | 
					
						
							|  |  |  |                                         "if": "survey:date:={_now:date}", | 
					
						
							|  |  |  |                                         "then": "Surveyed today!" | 
					
						
							|  |  |  |                                     } | 
					
						
							|  |  |  |                                 ] | 
					
						
							|  |  |  |                             } | 
					
						
							|  |  |  |                         ] | 
					
						
							|  |  |  |                     }, | 
					
						
							|  |  |  |                     { | 
					
						
							|  |  |  |                         "id": "node", | 
					
						
							|  |  |  |                         "name": { | 
					
						
							|  |  |  |                             "en": "nodes" | 
					
						
							|  |  |  |                         }, | 
					
						
							|  |  |  |                         "source": { | 
					
						
							|  |  |  |                             "osmTags": "rwn_ref~*" | 
					
						
							|  |  |  |                         }, | 
					
						
							|  |  |  |                         "minzoom": 12, | 
					
						
							|  |  |  |                         "title": { | 
					
						
							|  |  |  |                             "render": { | 
					
						
							|  |  |  |                                 "en": "walking node <strong>{rwn_ref}</strong>" | 
					
						
							|  |  |  |                             } | 
					
						
							|  |  |  |                         }, | 
					
						
							|  |  |  |                         "label": { | 
					
						
							|  |  |  |                             "mappings": [ | 
					
						
							|  |  |  |                                 { | 
					
						
							|  |  |  |                                     "if": "rwn_ref~*", | 
					
						
							|  |  |  |                                     "then": "<div style='position: absolute; top: 10px; right: 10px; color: white; background-color: #8b1e20; width: 20px; height: 20px; border-radius: 100%'>{rwn_ref}</div>" | 
					
						
							|  |  |  |                                 } | 
					
						
							|  |  |  |                             ] | 
					
						
							|  |  |  |                         }, | 
					
						
							|  |  |  |                         "tagRenderings": [ | 
					
						
							|  |  |  |                             { | 
					
						
							|  |  |  |                                 "question": { | 
					
						
							|  |  |  |                                     "en": "When was this walking node last surveyed?" | 
					
						
							|  |  |  |                                 }, | 
					
						
							|  |  |  |                                 "render": { | 
					
						
							|  |  |  |                                     "en": "This walking node was last surveyed on {survey:date}" | 
					
						
							|  |  |  |                                 }, | 
					
						
							|  |  |  |                                 "freeform": { | 
					
						
							|  |  |  |                                     "key": "survey:date", | 
					
						
							|  |  |  |                                     "type": "date" | 
					
						
							|  |  |  |                                 }, | 
					
						
							|  |  |  |                                 "mappings": [ | 
					
						
							|  |  |  |                                     { | 
					
						
							|  |  |  |                                         "if": "survey:date:={_now:date}", | 
					
						
							|  |  |  |                                         "then": "Surveyed today!" | 
					
						
							|  |  |  |                                     } | 
					
						
							|  |  |  |                                 ] | 
					
						
							|  |  |  |                             }, | 
					
						
							|  |  |  |                             { | 
					
						
							|  |  |  |                                 "question": { | 
					
						
							|  |  |  |                                     "en": "How many other walking nodes does this node link to?" | 
					
						
							|  |  |  |                                 }, | 
					
						
							|  |  |  |                                 "render": { | 
					
						
							|  |  |  |                                     "en": "This node links to {expected_rwn_route_relations} other walking nodes." | 
					
						
							|  |  |  |                                 }, | 
					
						
							|  |  |  |                                 "freeform": { | 
					
						
							|  |  |  |                                     "key": "expected_rwn_route_relations", | 
					
						
							|  |  |  |                                     "type": "int" | 
					
						
							|  |  |  |                                 } | 
					
						
							|  |  |  |                             }, | 
					
						
							|  |  |  |                             "images" | 
					
						
							|  |  |  |                         ] | 
					
						
							|  |  |  |                     } | 
					
						
							|  |  |  |                 ] | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             const fixed = new FixLegacyTheme().convert( | 
					
						
							|  |  |  |                 <any> walking_node_theme, | 
					
						
							|  |  |  |                 "While testing") | 
					
						
							|  |  |  |             expect(fixed.errors, "Could not fix the legacy theme").empty | 
					
						
							| 
									
										
										
										
											2022-04-18 02:39:30 +02:00
										 |  |  |             const theme = new LayoutConfig(fixed.result, false) | 
					
						
							| 
									
										
										
										
											2022-03-24 03:30:05 +01:00
										 |  |  |             expect(theme).not.undefined | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     }) | 
					
						
							|  |  |  | }) | 
					
						
							|  |  |  | 
 |