mirror of
				https://github.com/Icinga/icingaweb2.git
				synced 2025-10-31 03:14:31 +01:00 
			
		
		
		
	
							parent
							
								
									4d9ecd2b3b
								
							
						
					
					
						commit
						c7375d44fb
					
				| @ -109,7 +109,8 @@ if (path === null) { | |||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     exports.performLogin = function() { |     exports.performLogin = function() { | ||||||
|         casper.start("/authentication/login", function() { |         casper.start("/authentication/logout"); | ||||||
|  |         casper.thenOpen("/authentication/login", function() { | ||||||
|             this.fill('form#form_login', icinga.getCredentials()); |             this.fill('form#form_login', icinga.getCredentials()); | ||||||
|             this.click('form#form_login input#submit'); |             this.click('form#form_login input#submit'); | ||||||
|         }); |         }); | ||||||
|  | |||||||
							
								
								
									
										88
									
								
								test/frontend/regression/regression-4622.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										88
									
								
								test/frontend/regression/regression-4622.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,88 @@ | |||||||
|  | /** | ||||||
|  |  * Config: Warn about unsaved changes before leaving current dialog (Bug #4622) | ||||||
|  |  * | ||||||
|  |  * It's not possible to test if the confirmation dialog really appears, but as this is a rather simple | ||||||
|  |  * event listener (that is also tested with mocha), the state preservation is tested here | ||||||
|  |  * | ||||||
|  |  * This test performs the following steps | ||||||
|  |  * - Log in and open the logging dialog form | ||||||
|  |  * - Wait for component initialisation | ||||||
|  |  * - Modify the first input field and test for the data-icinga-form-modified flag to be set | ||||||
|  |  * - Modify the an autosubmit field (debug log), wait for the textfield to appear or disappear and test if | ||||||
|  |  *   the modified attribute is set on the server side. | ||||||
|  |  **/ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  *  The icinga util object | ||||||
|  |  * | ||||||
|  |  * @type object | ||||||
|  |  */ | ||||||
|  | var icinga = require('./icingawebtest'); | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * The casperjs object | ||||||
|  |  * | ||||||
|  |  * @type Casper | ||||||
|  |  */ | ||||||
|  | var casper = icinga.getTestEnv(); | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Login to the instance | ||||||
|  |  */ | ||||||
|  | icinga.performLogin(); | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Test if the modified attribute is correctly set when altering input | ||||||
|  |  */ | ||||||
|  | casper.thenOpen('./config/logging', function() { | ||||||
|  |     "use strict"; | ||||||
|  | 
 | ||||||
|  |     this.test.assertExists('form#form_config_logging', 'Assert the logging configuration form being displayed'); | ||||||
|  |     this.test.assertEquals( | ||||||
|  |         this.getElementAttribute('form#form_config_logging', 'data-icinga-form-modified'), | ||||||
|  |         "", | ||||||
|  |         'Assert a form to initially have no modified flag' | ||||||
|  |     ); | ||||||
|  |     // Wait for the component to initialize
 | ||||||
|  |     this.wait(1000, function() { | ||||||
|  |         this.sendKeys('#form_config_logging input#logging_app_target', 'somewhere'); | ||||||
|  |         this.test.assertEquals( | ||||||
|  |             this.getElementAttribute('form#form_config_logging', 'data-icinga-form-modified'), | ||||||
|  |             "true", | ||||||
|  |             'Assert a form to initially be marked as modified when changed' | ||||||
|  |         ); | ||||||
|  |     }); | ||||||
|  | }); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Test if the modified flag will be set on the server side | ||||||
|  |  */ | ||||||
|  | casper.then(function() { | ||||||
|  |     "use strict"; | ||||||
|  | 
 | ||||||
|  |     var checkbox = this.getElementAttribute('form#form_config_logging input#logging_debug_enable', 'value'); | ||||||
|  |     this.click('form#form_config_logging input#logging_debug_enable'); | ||||||
|  |     // determine whether the text input field appears after the click or not
 | ||||||
|  |     var waitFn = (checkbox === '0' ? this.waitForSelector : this.waitWhileSelector).bind(this); | ||||||
|  |     waitFn('form#form_config_logging input#logging_debug_target', function() { | ||||||
|  |         this.test.assertEquals( | ||||||
|  |             this.getElementAttribute('form#form_config_logging', 'data-icinga-form-modified'), | ||||||
|  |             "true", | ||||||
|  |             'Assert modify flag to be set on the server side if using an autosubmit field' | ||||||
|  |         ); | ||||||
|  |     }, function() { | ||||||
|  |         this.test.fail('Debug textfield appearcance didn\'t occur after click'); | ||||||
|  |     }); | ||||||
|  | 
 | ||||||
|  | }); | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Run the tests | ||||||
|  |  */ | ||||||
|  | casper.run(function() { | ||||||
|  |     "use strict"; | ||||||
|  | 
 | ||||||
|  |     this.test.done(); | ||||||
|  | });  | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user