forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			58 lines
		
	
	
		
			No EOL
		
	
	
		
			2.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			No EOL
		
	
	
		
			2.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 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";
 | |
| 
 | |
| 
 | |
| 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);
 | |
|         }]
 | |
|     ]
 | |
| ); |