#=============================================================================================
# @TITLE			6. Step DBM Wizard.
#
# @NUMBER			DBM2_FKT_02007c
#
# @DESCRIPTION		Clicking 'Back' and checking the window content. Then 'Next' and again
# @					checking window content. Checking the parameters (General & Extended) and
# @					going 'Next'.
#
# @EXP_RESULT		'Dababase Version' step.
#
# @REQUIREMENTS		"Database Manager" is installed.
#=============================================================================================
TestName = "DBM2_FKT_02007c";
static WizardOpen = 1;
										#Name, Default Value, minValue, maxValue
										#Name & default value must be declared.
										#minValue & maxValue are optional --> enter empty String "".
static parameter_value_array_g [] = {
										{"LOG_MODE","SINGLE","DUAL","DEMO"},
										#{"MAXARCHIVELOGS","1","1","32"},
										{"MAXBACKUPDEVS","2","1","32"},
										{"MAXCPU","1","1","128"},
										{"MAXDATADEVSPACES","1","1","255"},
										{"MAXDATAPAGES","10000","3000","2147483647"},
										#{"MAXLOCKS","2500","500",""},
										{"MAXUSERTASKS","50","1",""},
										{"RESTART_SHUTDOWN","MANUAL","MANUAL","AUTO"}
									};
static parameter_count = 7;#8;#9;
#=============================================================================================
# @STEP 1			Going back and checking window content.
#=============================================================================================
if (win_exists("Database Manager Installation Wizard") == 0) {

	set_window ("Database Manager Installation Wizard", 2);
	button_press ("< Back");
	
	set_window ("Database Manager_1", 2);
	button_press ("OK");
	
	wait(2);
	
	set_window ("Database Manager Installation Wizard", 2);
	ActiveX_get_info("DBMWfr2.Framework", "HeaderTitle", Header);
	
	if (Header == "Instance Type") {		
		tl_step ("Installation wizard - 'Instance Type' - 'Next'", "0", "Window is correct. - TN: " & TestName);
	} else {		
		tl_step ("Installation wizard - 'Instance Type' - 'Next'", "1", "Window is incorrect. - TN: " & TestName);
	}
#=============================================================================================
# @STEP 2			Going next.
#=============================================================================================
	set_window ("Database Manager Installation Wizard", 2);
	button_press ("Next >");
	
	wait(2);
	
	ActiveX_get_info("DBMWfr2.Framework", "HeaderTitle", Header);
	
	if (Header == "Adjust Parameters") {		
		tl_step ("Installation wizard - 'Adjust Parameters' - 'Next'", "0", "Window is correct. - TN: " & TestName);
	} else {		
		tl_step ("Installation wizard - 'Adjust Parameters' - 'Next'", "1", "Window is incorrect. - TN: " & TestName);
	}
#=============================================================================================
# @STEP 3			Checking window content - Installation
#=============================================================================================
	L_RC_1 = obj_exists ("tabParameters", 0);
	L_RC_2 = obj_exists ("lvwParameters", 0);
	L_RC_3 = obj_exists ("msvb_lib_toolbar", 0);	
		
	L_RC_4 = obj_exists ("< Back", 0);
	L_RC_5 = obj_exists ("Next >", 0);
	L_RC_6 = obj_exists ("Cancel", 0);
	
	if (L_RC_1 == 0 &&
		L_RC_2 == 0 &&
		L_RC_3 == 0 &&
		L_RC_4 == 0 &&
		L_RC_5 == 0 &&
		L_RC_6 == 0) {
			
		tl_step("Installation Wizard - Parameter Initialization", "0", "All expected controls are displayed. - TN: " & TestName);
		
#=============================================================================================
# @STEP 4			Checking parameter - general.
#=============================================================================================
		for (i=0;i<parameter_count;i++) {
			
			set_window ("Database Manager Installation Wizard", 2);
			list_select_item("lvwParameters", parameter_value_array_g [i,0], LEFT, 0);

			toolbar_button_press ("msvb_lib_toolbar", "Properties");
			
			set_window ("Parameter Properties", 1);
			win_get_info ("Parameter Properties", "label", win_label);
			obj_get_info ("txtName", "text", text1);
			obj_get_info ("txtValue", "text", text2);
			obj_get_info ("txtNewValue", "text", text3);
			
			if (win_label == "Parameter Properties - " & parameter_value_array_g [i,0] &&
				text1 == parameter_value_array_g [i,0] &&
				text2 == parameter_value_array_g [i,1] &&
				text3 == parameter_value_array_g [i,1]) {
				
				tl_step ("Parameter Properties - " & parameter_value_array_g [i,0] , "0", "All checked values are okay. - TN: " & TestName);
			} else {
				
				tl_step ("Parameter Properties - " & parameter_value_array_g [i,0] , "1", "Not all checked values are okay. - TN: " & TestName);
			}
#=============================================================================================
# @STEP 4.1			Checking low limit.
#=============================================================================================
			if (parameter_value_array_g [i,2] != "") {
			
				set_window ("Parameter Properties", 6);
				edit_set ("txtNewValue", parameter_value_array_g [i,2]);
				
				if (parameter_value_array_g [i,1] != parameter_value_array_g [i,2]) {
					button_press ("OK");
					
					wait(5);
				
					set_window("Database Manager Installation Wizard", 1);
					list_get_subitem("lvwParameters", parameter_value_array_g [i,0], 2, newValue);
					
					if (newValue == parameter_value_array_g [i,2]) {
						
						tl_step ("Parameter check - " & parameter_value_array_g [i,0] & " - new value (min)", "0", "New value appeared in list. - TN: " & TestName);
					} else {
						tl_step ("Parameter check - " & parameter_value_array_g [i,0] & " - new value (min)", "1", "New value did not appeare in list. - TN: " & TestName);
					}
				} else {
					button_press ("Cancel");
				}
				
				set_window ("Database Manager Installation Wizard", 2);
				list_select_item("lvwParameters", parameter_value_array_g [i,0], LEFT, 0);
				
				toolbar_button_press ("msvb_lib_toolbar", "Properties");
				
				if (is_numeric (parameter_value_array_g [i,2]) == -1 &&
					parameter_value_array_g [i,2] != "") {
					
					set_window ("Parameter Properties", 6);
					edit_set ("txtNewValue", (parameter_value_array_g [i,2] - 1));
					
					button_press ("OK");				
					wait(5);
					
					if (win_exists("Error",0) == 0) {
						
						tl_step ("Parameter check - " & parameter_value_array_g [i,0] & " - new value (min, 1 under)","0","Constraint error occured. - TN: " & TestName);

						set_window ("Error", 1);
						button_press ("OK");
					} else {
						
						tl_step ("Parameter check - " & parameter_value_array_g [i,0] & " - new value (min, 1 under)","1","Constraint error did not occure. - TN: " & TestName);
						
						set_window ("Database Manager Installation Wizard", 2);
						list_select_item("lvwParameters", parameter_value_array_g [i,0], LEFT, 0);
						
						toolbar_button_press ("msvb_lib_toolbar", "Properties");
					}
				}
			}
#=============================================================================================
# @STEP 4.2			Checking upper limit.
#=============================================================================================
			if (parameter_value_array_g [i,3] != "") {
			
				set_window ("Parameter Properties", 6);
				edit_set ("txtNewValue", parameter_value_array_g [i,3]);
				
				if (parameter_value_array_g [i,1] != parameter_value_array_g [i,3]) {
					button_press ("OK");
					
					wait(5);
				
					set_window("Database Manager Installation Wizard", 1);
					list_get_subitem("lvwParameters", parameter_value_array_g [i,0], 2, newValue);
					
					if (newValue == parameter_value_array_g [i,3]) {
						
						tl_step ("Parameter check - " & parameter_value_array_g [i,0] & " - new value (max)", "0", "New value appeared in list. - TN: " & TestName);
					} else {
						tl_step ("Parameter check - " & parameter_value_array_g [i,0] & " - new value (max)", "1", "New value did not appeare in list. - TN: " & TestName);
					}
				} else {
					button_press ("Cancel");
				}
				
				set_window ("Database Manager Installation Wizard", 2);
				list_select_item("lvwParameters", parameter_value_array_g [i,0], LEFT, 0);
				
				toolbar_button_press ("msvb_lib_toolbar", "Properties");
				
				if (is_numeric (parameter_value_array_g [i,3]) == -1 &&
					parameter_value_array_g [i,3] != "") {
					
					set_window ("Parameter Properties", 6);
					edit_set ("txtNewValue", (parameter_value_array_g [i,3] + 1));
					
					button_press ("OK");				
					wait(5);
					
					if (win_exists("Error",0) == 0) {
						
						tl_step ("Parameter check - " & parameter_value_array_g [i,0] & " - new value (max, 1 over)","0","Constraint error occured. - TN: " & TestName);

						set_window ("Error", 1);
						button_press ("OK");
					} else {
						
						tl_step ("Parameter check - " & parameter_value_array_g [i,0] & " - new value (max, 1 over)","1","Constraint error did not occure. - TN: " & TestName);
						
						set_window ("Database Manager Installation Wizard", 2);
						list_select_item("lvwParameters", parameter_value_array_g [i,0], LEFT, 0);
						
						toolbar_button_press ("msvb_lib_toolbar", "Properties");
					}
				}
				set_window ("Parameter Properties", 6);
				button_press ("Cancel");
				wait(5);
			} else {
				
				set_window ("Parameter Properties", 6);
				button_press ("Cancel");
			}
			
			#Setting back default value
			
			set_window ("Database Manager Installation Wizard", 2);
			list_select_item("lvwParameters", parameter_value_array_g [i,0], LEFT, 0);
			
			toolbar_button_press ("msvb_lib_toolbar", "Properties");
			
			set_window ("Parameter Properties", 6);
			
			obj_get_info("txtNewValue", "text", text);
			
			if (text != parameter_value_array_g [i,1]) {
			
				edit_set ("txtNewValue", (parameter_value_array_g [i,1]));
				button_press ("OK");
				
				wait(5);
			} else {
				button_press ("Cancel");
			}
		}
#=============================================================================================
# @STEP 5			Going 'Next'
#=============================================================================================
		set_window ("Database Manager Installation Wizard", 2);
		button_press ("< Back");
		
		set_window ("Database Manager_1", 2);
		button_press ("OK");
		
		wait(2);
		
		set_window ("Database Manager Installation Wizard", 2);
		button_press ("Next >");
		wait(2);
#=============================================================================================
# @STEP 6			Changing one parameter - RESTART_SHUTDOWN to 'AUTO'
#=============================================================================================	
		set_window ("Database Manager Installation Wizard", 2);
		list_select_item("lvwParameters", "RESTART_SHUTDOWN", LEFT, 0);
		toolbar_button_press ("msvb_lib_toolbar", "Properties");
		
		set_window ("Parameter Properties", 6);
		edit_set ("txtNewValue", "AUTO");
		button_press ("OK");
					
		set_window ("Database Manager Installation Wizard", 6);
		button_press ("Next >");
		
		wait(4);
	} else {		
		tl_step("Installation Wizard - Database Name", "1", "Not all expected controls are displayed. - TN: " & TestName);
	}
} else {
	
	tl_step("Database Manager Installation Wizard - Window Check", "1", "Window not open. - TN: " & TestName);
	WizardOpen = 0;
}
