def fill_in_unit_cost(driver): value = data.so_stock_unit_cost_id text = "12" additional.fill_text_field(driver, value, text) driver.find_element(By.ID, value).send_keys(Keys.ENTER) assert additional.get_property_value(driver, value, "id") == text + ".0000", "Wrong Unit Cost Value" # unit price assert float(additional.get_property_value(driver, data.so_unit_price_id, "id")) == \ float((float(additional.get_property_value(driver, value, "id"))) / float( additional.get_property_value(driver, data.rfq_pn_rate_id, "id"))), " Гnit price value recalculated incorrectly!!" # total cost assert float(additional.get_property_value(driver, data.so_stock_total_cost_id, "id")) == \ float((float(additional.get_property_value(driver, value, "id"))) * float( additional.get_property_value(driver, data.so_stock_qty_id, "id"))), "Total cost Value recalculated incorrectly!!" # total price assert float(additional.get_property_value(driver, data.so_stock_total_price_id, "id")) == \ float((float(additional.get_property_value(driver, data.so_unit_price_id, "id"))) * float( additional.get_property_value(driver, data.so_stock_qty_id, "id"))), "Total Price Value recalculated incorrectly!!" # MGM $ assert float(additional.get_property_value(driver, data.so_mgm_id, "id")) == \ round((float(((float(additional.get_property_value(driver, data.so_unit_price_id, "id"))) - ( float(additional.get_property_value(driver, value, "id")))) * float( additional.get_property_value(driver, data.so_stock_qty_id, "id")))), 2), "Total MGM recalculated incorrectly!!" # MGM % total_price = float(additional.get_property_value(driver, data.so_unit_price_id, "id")) * float(additional.get_property_value(driver, data.so_stock_qty_id, "id")) qty = float(additional.get_property_value(driver, data.so_stock_qty_id, "id")) total_cost = float(additional.get_property_value(driver, data.so_stock_unit_cost_id, "id")) * float(additional.get_property_value(driver, data.so_stock_qty_id, "id")) assert float(additional.get_property_value(driver, data.so_mgm_percent_id, "id")) == \ (total_price - total_cost)/total_cost * 100, "Total MGM percent recalculated incorrectly!!"
def fill_in_exchange_fee_price(driver): value = data.ex_fee_price_id text = '12' additional.fill_text_field(driver, value, text) driver.find_element(By.ID, value).send_keys(Keys.ENTER) assert additional.get_property_value(driver, value, "id") == text + ".0000", "Wrong Fee Price Value!" # assert additional.get_property_value(driver, data.ex_ber_price_id, "id") == "6.4815", "Ber Price Value recalculated incorrectly!!" assert float(additional.get_property_value(driver, data.ex_ber_price_id, "id")) == round( float(additional.get_property_value(driver, data.ex_ber_cost_id, "id")) / float( additional.get_property_value(driver, data.rfq_pn_rate_id, "id")), 4), "Ber Price Value recalculated incorrectly!!" # assert additional.get_property_value(driver, data.ex_service_price_id, "id") == "4.6296", "Service Price Value recalculated incorrectly!!" assert float(additional.get_property_value(driver, data.ex_service_price_id, "id")) == round( float(additional.get_property_value(driver, data.ex_service_cost_id, "id")) / float( additional.get_property_value(driver, data.rfq_pn_rate_id, "id")), 4), "Service Price Value recalculated incorrectly!!" assert additional.get_property_value(driver, data.ex_total_price_id, "id") == "83.15", "Total Price Value recalculated incorrectly!!" assert float(additional.get_property_value(driver, data.ex_total_price_id, "id")) == \ round(float((float(additional.get_property_value(driver, data.ex_fee_price_id, "id"))) + ( float(additional.get_property_value(driver, data.ex_service_price_id, "id")))) * float( additional.get_property_value(driver, data.ex_qty_id, "id")), 2), "MGM Value recalculated incorrectly!!" # assert additional.get_property_value(driver, data.ex_mgm_id, "id") == "-6.85", "MGM Value recalculated incorrectly!!" float(additional.get_property_value(driver, data.ex_mgm_id, "id")) == round(float(additional.get_property_value(driver, data.ex_total_price_id, "id")) - float( additional.get_property_value(driver, data.ex_cost_total_id, "id")), 4), "MGM Value recalculated incorrectly!!" # assert additional.get_property_value(driver, data.ex_mgm_percent_id, "id") == "-7.61", "MGM Percent Value recalculated incorrectly!!" assert float(additional.get_property_value(driver, data.ex_mgm_percent_id, "id")) == round((float(additional.get_property_value(driver, data.ex_total_price_id, "id")) - float( additional.get_property_value(driver, data.ex_cost_total_id, "id"))) / float( additional.get_property_value(driver, data.ex_cost_total_id, "id")) * 100, 2), "MGM Percent Value recalculated incorrectly!!" # assert additional.get_property_value(driver, data.rfq_pn_rate_id, "id") == "1.08", "Rate Value recalculated incorrectly!!" assert float(additional.get_property_value(driver, data.rfq_pn_rate_id, "id")) == round(float(additional.get_property_value(driver, data.ex_fee_cost_id, "id")) /\ float(additional.get_property_value(driver, data.ex_fee_price_id, "id")), 2), "Rate Value recalculated incorrectly!!"
def fill_in_avg_repair_price(driver): value = data.repair_avg_repair_price_id text = '7' additional.fill_text_field(driver, value, text) driver.find_element(By.ID, value).send_keys(Keys.ENTER) assert additional.get_property_value(driver, value, "id") == text + ".0000", "Wrong Avg Repair Price Value!" # assert additional.get_property_value(driver, data.repair_b_check_price_id, "id") == "7.0028", "Repair B-Check Price Value recalculated incorrectly!" assert float(additional.get_property_value(driver, data.repair_b_check_price_id, "id")) == round( float(additional.get_property_value(driver, data.repair_b_check_cost_id, "id")) / float( additional.get_property_value(driver, data.rfq_pn_rate_id, "id")), 4), \ "Repair B-Check Price Value recalculated incorrectly!" # assert additional.get_property_value(driver, data.repair_max_price_id, "id") == "8.4034", "Repair Max Price Value recalculated incorrectly!" assert float(additional.get_property_value(driver, data.repair_max_price_id, "id")) == round( float(additional.get_property_value(driver, data.repair_max_cost_id, "id")) / float( additional.get_property_value(driver, data.rfq_pn_rate_id, "id")), 4), "Repair Max Price Value recalculated incorrectly!" # assert additional.get_property_value(driver, data.repair_mgm_id, "id") == "-18.00", "Repair MGM Value recalculated incorrectly!" assert float(additional.get_property_value(driver, data.repair_mgm_id, "id")) == float( additional.get_property_value(driver, data.repair_avg_repair_price_id, "id")) - float( additional.get_property_value(driver, data.repair_avg_repair_cost_id, "id")), "Repair MGM Value recalculated incorrectly!" # assert additional.get_property_value(driver, data.repair_mgm_percent_id, "id") == "-72.00", "Repair MGM Percent Value recalculated incorrectly!" assert float(additional.get_property_value(driver, data.repair_mgm_percent_id, "id")) == round( (float(additional.get_property_value(driver, data.repair_avg_repair_price_id, "id")) - float( additional.get_property_value(driver, data.repair_avg_repair_cost_id, "id")))/ float( additional.get_property_value(driver, data.repair_avg_repair_cost_id, "id")) * 100, 2), "Repair MGM Percent Value recalculated incorrectly!"
def fill_in_place_of_delivery(driver): field = data.place_of_delivery_edit_id text = "Test Place of Delivery" additional.fill_text_field(driver, field, text) global gplaceofdelivery gplaceofdelivery = driver.find_element( By.ID, data.place_of_delivery_edit_id).get_attribute('value')
def fill_in_max_repair_cost(driver): value = data.repair_max_cost_id text = '30' additional.fill_text_field(driver, value, text) driver.find_element(By.ID, value).send_keys(Keys.ENTER) assert additional.get_property_value(driver, value, "id") == text, "Wrong Max Repair Value!" assert float(additional.get_property_value(driver, data.repair_max_price_id, "id")) == \ round(float(additional.get_property_value(driver, value, "id")) / float( additional.get_property_value(driver, data.rfq_pn_rate_id, "id")), 4)
def fill_in_unit_price(driver): value = data.so_unit_price_id text = "15" additional.fill_text_field(driver, value, text) driver.find_element(By.ID, value).send_keys(Keys.ENTER) assert additional.get_property_value(driver, value, "id") == text + ".0000", "Wrong Unit Price Value!" # assert additional.get_property_value(driver, data.rfq_pn_rate_id, 'id') == "0.80", "Rate value recalculated incorrectly" assert float(additional.get_property_value(driver, data.rfq_pn_rate_id, 'id')) == \ float(additional.get_property_value(driver, data.so_stock_unit_cost_id, "id")) / float(additional.get_property_value(driver, data.so_unit_price_id, "id")), "Rate value recalculated incorrectly"
def fill_in_exchange_ber_cost(driver): value = data.ex_ber_cost_id text = '7' additional.fill_text_field(driver, value, text) driver.find_element(By.ID, value).send_keys(Keys.ENTER) assert additional.get_property_value(driver, value, "id") == text, "Wrong Ber Cost Value!" assert int(additional.get_property_value(driver, value, "id")) == \ int((float(additional.get_property_value(driver, data.ex_ber_price_id, "id"))) * float( additional.get_property_value(driver, data.rfq_pn_rate_id, "id"))), "Ber Price Value recalculated incorrectly!!"
def fill_in_exchange_fee_cost(driver): value = data.ex_fee_cost_id text = '13' additional.wait_element(driver, data.ex_fee_cost_id, 'id') additional.fill_text_field(driver, value, text) driver.find_element(By.ID, value).send_keys(Keys.ENTER) assert additional.get_property_value(driver, value, "id") == text, "Wrong Exchange Fee Cost Value!" # assert additional.get_property_value(driver, data.ex_fee_price_id, "id") == "16.2500", "Exchange Fee Price Value recalculated incorrectly!!" assert float(additional.get_property_value(driver, data.ex_fee_price_id, 'id')) == \ float(additional.get_property_value(driver, data.ex_fee_cost_id, "id")) / float(additional.get_property_value(driver, data.rfq_pn_rate_id, "id")), "Exchange Fee Price Value recalculated incorrectly!!"
def fill_in_repair_bcheck_cost(driver): value = data.repair_b_check_cost_id text = '25' additional.wait_element_for_click(driver, value) additional.fill_text_field(driver, value, text) driver.find_element(By.ID, value).send_keys(Keys.ENTER) assert additional.get_property_value(driver, value, "id") == text, "Wrong Repair B-Check Value!" assert float(additional.get_property_value(driver, data.repair_b_check_price_id, "id")) == \ round(float(additional.get_property_value(driver, value, "id")) / float(additional.get_property_value(driver, data.rfq_pn_rate_id, "id")), 4), \ "Repair B-Check price value recalculated incorrectly!!"
def select_po(driver, ponum): value = data.po_select_id text = ponum element = '//li[contains(., "' + ponum + '")]' additional.fill_text_field(driver, value, text) driver.find_element(By.XPATH, element).click() driver.find_elements( By.XPATH, '//div[@class="collapse-block-header-in"]')[len( driver.find_elements( By.XPATH, '//div[@class="collapse-block-header-in"]')) - 1]
def fill_arrived_qty(driver): i = 0 for i in range( 0, len( driver.find_elements( By.XPATH, '//input[contains(@id, "arrival-arrived-0-")]'))): value = "ma_arrived_" + str(i) + "_id" value = getattr(data, value) text = "3" additional.fill_text_field(driver, value, text) i += 1
def fill_in_avg_repair_cost(driver): value = data.repair_avg_repair_cost_id text = '25' additional.fill_text_field(driver, value, text) driver.find_element(By.ID, value).send_keys(Keys.ENTER) assert additional.get_property_value(driver, value, "id") == text, "Wrong Avg Repair Cost Value!" assert float(additional.get_property_value(driver, data.repair_avg_repair_price_id, "id")) == \ round(float(additional.get_property_value(driver, value, "id")) / float( additional.get_property_value(driver, data.rfq_pn_rate_id, "id")), 4), \ "Avg Repair price value recalculated incorrectly!!" # assert additional.get_property_value(driver, data.repair_mgm_id, "id") == "-1.85", "MGM Value recalculated incorrectly!!" assert float(additional.get_property_value(driver, data.repair_mgm_id, "id")) == round( float(additional.get_property_value(driver, data.repair_b_check_price_id, "id")) - float( additional.get_property_value(driver, data.repair_b_check_cost_id, "id")),2), \ "MGM Value recalculated incorrectly!!"
def fill_in_exchange_service_price(driver): value = data.ex_service_price_id text = '15' additional.fill_text_field(driver, value, text) driver.find_element(By.ID, value).send_keys(Keys.ENTER) assert additional.get_property_value(driver, value, "id") == text + ".0000", "Wrong Service Price Value!" # assert additional.get_property_value(driver, data.ex_mgm_id, "id") == "45.00", "MGM Value recalculated incorrectly!!" assert float(additional.get_property_value(driver, data.ex_mgm_id, "id")) == round(float(additional.get_property_value(driver, data.ex_total_price_id, "id")) - float( additional.get_property_value(driver, data.ex_cost_total_id, "id")), 4), "MGM Value recalculated incorrectly!!" # assert additional.get_property_value(driver, data.ex_mgm_percent_id, "id") == "50.00", "MGM Price Value recalculated incorrectly!!" assert float(additional.get_property_value(driver, data.ex_mgm_percent_id, "id")) == round( (float(additional.get_property_value(driver, data.ex_total_price_id, "id")) - float( additional.get_property_value(driver, data.ex_cost_total_id, "id"))) / float( additional.get_property_value(driver, data.ex_cost_total_id, "id")) * 100, 2), "MGM Percent Value recalculated incorrectly!!"
def fill_in_exchange_qty(driver): value = data.ex_qty_id text = '5' additional.fill_text_field(driver, value, text) driver.find_element(By.ID, value).send_keys(Keys.ENTER) assert additional.get_property_value(driver, value, "id") == text, "Wrong Exchange Qty Value!" # assert additional.get_property_value(driver, data.ex_cost_total_id, "id") == "90.00", "Wrong Exchange Cost Value recalculated incorrectly!" assert float(additional.get_property_value(driver, data.ex_cost_total_id, "id")) == (float(additional.get_property_value(driver, data.ex_fee_cost_id, "id")) + float( additional.get_property_value(driver, data.ex_service_cost_id, "id"))) * float( additional.get_property_value(driver, data.ex_qty_id, 'id')), "Wrong Exchange Cost Value recalculated incorrectly!" # assert additional.get_property_value(driver, data.ex_total_price_id, "id") == "112.50", "Wrong Exchange Total Value recalculated incorrectly!" assert float(additional.get_property_value(driver, data.ex_total_price_id, "id")) == (float(additional.get_property_value(driver, data.ex_fee_price_id, "id")) + float( additional.get_property_value(driver, data.ex_service_price_id, "id"))) * float(additional.get_property_value(driver, data.ex_qty_id, 'id')), "Wrong Exchange Cost Value recalculated incorrectly!" # assert additional.get_property_value(driver, data.ex_mgm_id, "id") == "22.50", "Exchange MGM Value recalculated incorrectly!" assert float(additional.get_property_value(driver, data.ex_total_price_id, "id")) == \ round(float((float(additional.get_property_value(driver, data.ex_fee_price_id, "id"))) + ( float(additional.get_property_value(driver, data.ex_service_price_id, "id")))) * float( additional.get_property_value(driver, data.ex_qty_id, "id")), 2), "MGM Value recalculated incorrectly!!"
def fill_material_arrival_warehouse_index(driver): text = "2" value = data.isle_id additional.fill_text_field(driver, value, text) value = data.shelf_id additional.fill_text_field(driver, value, text) value = data.holder_id additional.fill_text_field(driver, value, text)
def fill_in_repair_delivery_time(driver): value = data.repair_delivery_time_id text = '14' additional.fill_text_field(driver, value, text)
def fill_in_max_repair_price(driver): value = data.max_repair_price_id text = '25' additional.fill_text_field(driver, value, text)
def fill_in_avg_repair_price(driver): value = data.avg_repair_price_id text = '7' additional.fill_text_field(driver, value, text)
def fill_in_repair_delivery_b_check(driver): value = data.repair_delivery_b_check_id text = '12' additional.fill_text_field(driver, value, text)
def fill_in_repair_bcheck_price(driver): value = data.repair_b_check_price_id text = '12' additional.fill_text_field(driver, value, text)
def fill_in_repair_qty(driver): value = data.repair_qty_id text = '10' additional.fill_text_field(driver, value, text)
def fill_in_repair_lead_time(driver): value = data.repair_lead_time_id text = '7' additional.fill_text_field(driver, value, text)
def fill_in_max_repair_cost(driver): value = data.max_repair_cost_id text = '30' additional.fill_text_field(driver, value, text)
def fill_in_avg_repair_cost(driver): value = data.avg_repair_cost_id text = '25' additional.fill_text_field(driver, value, text)
def fill_in_customer_quote(driver): value = data.customer_quote_id text = "Test Customer Quote" additional.fill_text_field(driver, value, text)
def fill_in_delivery_terms_text_field(driver): value = data.delivery_terms_field_id text = "Test Delivery terms" additional.fill_text_field(driver, value, text)
def fill_in_received_via(driver): value = data.received_via_id text = "10" additional.fill_text_field(driver, value, text)
def fill_in_repair_lead_b_check(driver): value = data.lead_b_check_id text = '14' additional.fill_text_field(driver, value, text)
def fill_in_description(driver): value = data.description_id text = "Test Description" additional.fill_text_field(driver, value, text)
def fill_in_repair_bcheck_cost(driver): value = data.b_check_cost_id text = '25' additional.wait_element_for_click(driver, data.b_check_cost_id) additional.fill_text_field(driver, value, text)