#=============================================================================================
# @TITLE			Checking second window - Recovery Wizard.
#
# @NUMBER			DBM2_FKT_02202
#
# @DESCRIPTION		Checking window and content. Step is to define the kind of recovery.
# @					First of all clicking the 'Back' button. Then
# @					clicking the options 4 options like -
# @					Restore last backup, Restore a specified backup from history,
# @					Restore a medium. -. And going 'Next'.
#
# @EXP_RESULT		The 'Back'buttonworks. The above mentioned 4 options will be displayed.
# @					And at last the 'Next' button works as well.
#
# @REQUIREMENTS		"Database Manager" is installed.
#=============================================================================================
static WizardOpen = 1;
TestName = "DBM2_FKT_02202";
#=============================================================================================
# @STEP 1			Checking window and clicking 'Next'.
#=============================================================================================
if (win_exists("Database Manager Recovery Wizard",0) == 0) {
	
	tl_step("Database Manager Recovery Wizard - Window Check", "0", "Window still open. - TN: " & TestName & " L: " & getvar("line_no"));
	
	set_window("Database Manager Recovery Wizard", 1);
#=============================================================================================
# @STEP 2			Clicking the 'Back' button.
#=============================================================================================
	button_press ("< Back");	
	ActiveX_get_info("rtbWelcome", "Text", Text);
	
	if (match (Text, "Welcome to the Recovery Wizard.") != 0) {
		
		tl_step("Recovery Wizard - Step Welcome title","0", "Text: " & Text & " as expected. - TN: " & TestName & " L: " & getvar("line_no"));
	} else {
		tl_step("Recovery Wizard - Step Welcome title","1", "Text: " & Text & " not expected. - TN: " & TestName & " L: " & getvar("line_no"));
	}
#=============================================================================================
# @STEP 3			Clicking the 'Next' button and checking the window content.
#=============================================================================================
	button_press ("Next >");
	
#	if (match (kernel_version, "7.5.00") != 0 ||
#		match (kernel_version, "7.6.00") != 0) {
#		
#		set_window("Database Manager Recovery Wizard", 1);
#		button_press ("Next >");
#	}
	
	set_window("Database Manager Recovery Wizard", 1);
	ActiveX_get_info("DBMWfr2.Framework", "HeaderTitle", HeaderTitle);
	ActiveX_get_info("DBMWfr2.Framework", "HeaderSubtitle", HeaderSubtitle);
	
	if (HeaderTitle == "Type of Recovery" &&
		HeaderSubtitle == "Select the type of recovery that you want to perform.") {
		
		tl_step("Recovery Wizard - Step title","0", "HeaderTitle: " & HeaderTitle & " as expected. - TN: " & TestName & " L: " & getvar("line_no"));
		tl_step("Recovery Wizard - Step title","0", "HeaderSubtitle " & HeaderSubtitle & " as expected. - TN: " & TestName & " L: " & getvar("line_no"));
	} else {
		tl_step("Recovery Wizard - Step title","1", "HeaderTitle: " & HeaderTitle & " not expected. - TN: " & TestName & " L: " & getvar("line_no"));
		tl_step("Recovery Wizard - Step title","1", "HeaderSubtitle " & HeaderSubtitle & " not expected. - TN: " & TestName & " L: " & getvar("line_no"));
	}
	
	L_RC_1 = obj_exists("Restore last backup.",0);
	L_RC_2 = obj_exists("Restore a specified backup from history.",0);
	L_RC_3 = obj_exists("Restore a medium.",0);
	L_RC_4 = obj_exists("Continue restoring pages/log.",0);
	L_RC_5 = obj_exists("Restore database until a specific time.",0);
	L_RC_6 = obj_exists("ThunderRT6Frame",0);
	L_RC_7 = obj_exists("< Back",0);
	L_RC_8 = obj_exists("Next >",0);
	L_RC_9 = obj_exists("Cancel",0);
	
	if (L_RC_1 == E_OK &&
		L_RC_2 == E_OK &&
		L_RC_3 == E_OK &&
		L_RC_4 == E_OK &&
		L_RC_5 == E_OK &&
		L_RC_6 == E_NOT_FOUND &&
		L_RC_7 == E_OK &&
		L_RC_8 == E_OK &&
		L_RC_9 == E_OK) {
		
		tl_step("Checking object of window.", "0", "All objects displayed. - TN: " & TestName & " L: " & getvar("line_no"));
		
		obj_get_info("Restore last backup.", "value", value1);
		obj_get_info("Restore a specified backup from history.", "value", value2);
		obj_get_info("Restore a medium.", "value", value3);
		obj_get_info("Restore database until a specific time.", "value", value4);
		
		button_get_info("< Back", "enabled", value5);
		button_get_info("Next >", "enabled", value6);
		button_get_info("Cancel", "enabled", value7);
		
		if (value1 == 1 &&
			value2 == 0 &&
			value3 == 0 &&
			value4 == 0 &&
			value5 == 1 &&
			value6 == 1 &&
			value7 == 1) {
			
			tl_step("Checking button state","0","All buttons in correct state. - TN: " & TestName & " L: " & getvar("line_no"));
		} else {
			
			tl_step("Database Manager Recovery Wizard - Type of Recovery", "1", "Not all buttons in correct state. - TN: " & TestName & " L: " & getvar("line_no"));
			tl_step("Checking button state", "1", value1 & " expected 1 (Restore last backup.). - TN: " & TestName & " L: " & getvar("line_no"));
			tl_step("Checking button state", "1", value2 & " expected 0 (Restore a specified backup from history.). - TN: " & TestName & " L: " & getvar("line_no"));
			tl_step("Checking button state", "1", value3 & " expected 0 (Restore a medium.). - TN: " & TestName & " L: " & getvar("line_no"));
			tl_step("Checking button state", "1", value4 & " expected 0 (Continue restoring pages/log.). - TN: " & TestName & " L: " & getvar("line_no"));
			tl_step("Checking button state", "1", value5 & " expected 1 (< Back). - TN: " & TestName & " L: " & getvar("line_no"));
			tl_step("Checking button state", "1", value6 & " expected 1 (Next >). - TN: " & TestName & " L: " & getvar("line_no"));
			tl_step("Checking button state", "1", value7 & " expected 1 (Cancel). - TN: " & TestName & " L: " & getvar("line_no"));
		}		
#=============================================================================================
# @STEP 4			Clicking the 'Next' button and checking the window content.
#=============================================================================================
		set_window ("Database Manager Recovery Wizard", 3);
		button_press ("Next >");
	} else {
		tl_step("Checking object of window.", "1", "Not all objects dispayed. - TN: " & TestName & " L: " & getvar("line_no"));
		tl_step("Checking object of window.", "1", L_RC_1 & " expected 0. - TN: " & TestName & " L: " & getvar("line_no"));
		tl_step("Checking object of window.", "1", L_RC_2 & " expected 0. - TN: " & TestName & " L: " & getvar("line_no"));
		tl_step("Checking object of window.", "1", L_RC_3 & " expected 0. - TN: " & TestName & " L: " & getvar("line_no"));
		tl_step("Checking object of window.", "1", L_RC_4 & " expected 0. - TN: " & TestName & " L: " & getvar("line_no"));
		tl_step("Checking object of window.", "1", L_RC_5 & " expected 0. - TN: " & TestName & " L: " & getvar("line_no"));
		tl_step("Checking object of window.", "1", L_RC_6 & " expected -10002. - TN: " & TestName & " L: " & getvar("line_no"));
		tl_step("Checking object of window.", "1", L_RC_7 & " expected 0. - TN: " & TestName & " L: " & getvar("line_no"));
		tl_step("Checking object of window.", "1", L_RC_8 & " expected 0. - TN: " & TestName & " L: " & getvar("line_no"));
		tl_step("Checking object of window.", "1", L_RC_9 & " expected 0. - TN: " & TestName & " L: " & getvar("line_no"));
	}
} else {
	
	tl_step("Database Manager Recovery Wizard - Window Check", "1", "Window not open. - TN: " & TestName & " L: " & getvar("line_no"));
	WizardOpen = 0;
}
