forked from MapComplete/MapComplete
		
	Stabilize personal theme, textfield now correctly appears if it is an option in the freeform too
This commit is contained in:
		
							parent
							
								
									79fc3f54e5
								
							
						
					
					
						commit
						416a76ae4f
					
				
					 22 changed files with 278 additions and 149 deletions
				
			
		
							
								
								
									
										60
									
								
								test/TagQuestion.spec.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								test/TagQuestion.spec.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,60 @@ | |||
| import T from "./TestHelper"; | ||||
| import {Utils} from "../Utils"; | ||||
| 
 | ||||
| Utils.runningFromConsole = true; | ||||
| import TagRenderingQuestion from "../UI/Popup/TagRenderingQuestion"; | ||||
| import {UIEventSource} from "../Logic/UIEventSource"; | ||||
| import TagRenderingConfig from "../Customizations/JSON/TagRenderingConfig"; | ||||
| import {equal} from "assert"; | ||||
| import * as assert from "assert"; | ||||
| 
 | ||||
| 
 | ||||
| new T("TagQuestionElement", | ||||
|     [ | ||||
|         ["Freeform has textfield", () => { | ||||
|             const tags = new UIEventSource({ | ||||
|                 id: "way/123", | ||||
|                 amenity: 'public_bookcases' | ||||
|             }); | ||||
|             const config = new TagRenderingConfig( | ||||
|                 { | ||||
|                     render: "The name is {name}", | ||||
|                     question: "What is the name of this bookcase?", | ||||
|                     freeform: { | ||||
|                         key: "name", | ||||
|                         type: "string" | ||||
|                     } | ||||
|                 }, undefined, "Testing tag" | ||||
|             ); | ||||
|             const questionElement = new TagRenderingQuestion(tags, config); | ||||
|             const html = questionElement.InnerRender(); | ||||
|             T.assertContains("What is the name of this bookcase?", html); | ||||
|             T.assertContains("<input type='text'", html); | ||||
|         }], | ||||
|         ["TagsQuestion with Freeform and mappings has textfield", () => { | ||||
|             const tags = new UIEventSource({ | ||||
|                 id: "way/123", | ||||
|                 amenity: 'public_bookcases' | ||||
|             }); | ||||
|             const config = new TagRenderingConfig( | ||||
|                 { | ||||
|                     render: "The name is {name}", | ||||
|                     question: "What is the name of this bookcase?", | ||||
|                     freeform: { | ||||
|                         key: "name", | ||||
|                         type: "string" | ||||
|                     }, | ||||
|                     mappings: [ | ||||
|                         {"if": "noname=yes", | ||||
|                         "then": "This bookcase has no name"} | ||||
|                     ] | ||||
|                 }, undefined, "Testing tag" | ||||
|             ); | ||||
|             const questionElement = new TagRenderingQuestion(tags, config); | ||||
|             const html = questionElement.InnerRender(); | ||||
|             T.assertContains("What is the name of this bookcase?", html); | ||||
|             T.assertContains("This bookcase has no name", html); | ||||
|             T.assertContains("<input type='text'", html); | ||||
|         }] | ||||
|     ] | ||||
| ); | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue