import datetime as dt import re # Add the utilities to the path for import import sys util_path = r'H:\My Documents\GitHub\wtso-test-repository\utilities' sys.path.append(util_path) # Import required elements from utilities import testlogger as tl import ordersheetutil as osu # Create logger for script logger = tl.TestWriter() process = "Test Execution B2B3PL- for B2B3PL-648. Lock specific admin columns in Order Sheet" # parameter file path parameter_path = 'H:\My Documents\GitHub\wtso-test-repository\PartnerTrackerTest\Initial Input Parameters.txt' pid = None def setup_order_book(path): global pid book = osu.excelBook(path, pid) book.open_xl_sheet() book.set_tracker_tab() book.rebuild_partner_tracker() return book
def test5(): #setup parameters ticket_id = 'B2B3PL-1405' test_description = 'Check that the refresh all sheets button refreshes the all of the sheet tabs correctly when values in the database have been changed' expected_result = 'The data in the ordersheet is the same as the data inside the database' #setup first ordersheet book_a_test_5 = setup_order_sheet(parameter_path) global pid pid = book_a_test_5.process_id ordersheet_column_metakey_number_list = get_metakey_col_numbers( ordersheet_column_metakey_list) #may need to change #setup second ordersheet book_b_test_5 = open_second_order_sheet_test_4() #activate first ordersheet and input the values into TS2 Tab1 xw.apps[book_a_test_5.process_id].books insert_data_into_existing_rows( book_a_test_5.order_sheet.sheets[ book_a_test_5.excel_book_parameters['OrderSheet Tabs'][0]], ordersheet_column_metakey_list) #Create dictionary for TS1 Tab1 on the first sheet TS1_Tab1_first_sheet_values = generate_dictionary_for_all_db_status_rows( ordersheet_column_metakey_number_list, book_a_test_5.order_sheet.sheets[ book_a_test_5.excel_book_parameters['OrderSheet Tabs'][0]]) #input the values into TS2 Tab2 insert_data_into_existing_rows( book_a_test_5.order_sheet.sheets[ book_a_test_5.excel_book_parameters['OrderSheet Tabs'][1]], ordersheet_column_metakey_list) tab_stay = True while tab_stay: try: book_a_test_5.order_sheet.sheets[ book_a_test_5.excel_book_parameters['OrderSheet Tabs'] [1]].activate() tab_stay = False except: print("attempting to change tabs") tab_stay = True #Create dictionary for TS1 Tab2 for the first sheet TS1_Tab2_first_sheet_values = generate_dictionary_for_all_db_status_rows( ordersheet_column_metakey_number_list, book_a_test_5.order_sheet.sheets[ book_a_test_5.excel_book_parameters['OrderSheet Tabs'][1]]) #refresh the second ordersheet xw.apps[book_b_test_5.process_id].books book_b_test_5.refresh_all_sheets() #Create dictionary for TS1 Tab1 for the second sheet TS1_Tab1_second_sheet_values = generate_dictionary_for_all_db_status_rows( ordersheet_column_metakey_number_list, book_b_test_5.order_sheet.sheets[ book_b_test_5.excel_book_parameters['OrderSheet Tabs'][0]]) #Create dictionary for TS1 Tab2 for the second sheet while tab_stay: try: book_b_test_5.order_sheet.sheets[ book_b_test_5.excel_book_parameters['OrderSheet Tabs'] [1]].activate() tab_stay = False except: print("attempting to change tabs") TS1_Tab2_second_sheet_values = generate_dictionary_for_all_db_status_rows( ordersheet_column_metakey_number_list, book_b_test_5.order_sheet.sheets[ book_b_test_5.excel_book_parameters['OrderSheet Tabs'][1]]) #Check dictionaries are equal if (TS1_Tab1_first_sheet_values == TS1_Tab1_second_sheet_values and TS1_Tab2_first_sheet_values == TS1_Tab2_second_sheet_values): test_status = 1 actual_result = 'The refresh all sheets functionality has retrieved the correct data from the database' else: test_status = 0 actual_result = 'The refresh all sheets functionality has not retrieved the correct data from the database' logger = tl.TestWriter() #Write the test to the database logger.write_result(ticket_id, test_description, expected_result, actual_result, test_status) #Close the second ordersheet book_b_test_5.order_sheet.close() #Close the first ordersheet xw.apps[book_a_test_5.process_id].books book_a_test_5.order_sheet.close()