def fill(self, modal, data: dict): # Completa le informazioni per la creazione di un nuovo elemento. self.input(modal, 'Descrizione').setValue(data['descrizione']) if 'qta' in data: self.input(modal, 'Q.tà').setValue(data['qta']) if (self.input(modal, 'Prezzo unitario di vendita')): self.input(modal, 'Prezzo unitario di vendita').setValue( data['prezzo_unitario']) else: self.input(modal, 'Prezzo unitario').setValue( data['prezzo_unitario']) # Impostazione valore sconto sconto_xpath = Input.xpath(modal, None, 'input[@id="sconto"]') sconto_input = self.tester.find(By.XPATH, sconto_xpath) sconto = Input(self.tester.driver, sconto_input) if 'sconto_unitario' in data: sconto.setValue(data['sconto_unitario']) data['tipo_sconto'] = 'UNT' elif 'sconto_percentuale' in data: sconto.setValue(data['sconto_percentuale']) data['tipo_sconto'] = 'PRC' # Impostazione del tipo sconto if 'tipo_sconto' in data: tipo_sconto_xpath = Input.xpath( modal, None, 'select[@name="tipo_sconto"]') tipo_sconto_input = self.tester.find(By.XPATH, tipo_sconto_xpath) tipo_sconto = Select(self.tester.driver, tipo_sconto_input) tipo_sconto.setValue(data['tipo_sconto']) # Selezione IVA if 'iva' in data: select = self.input(modal, 'IVA') select.setByText(data['iva']) # select.send_keys(Keys.ENTER) # Selezione Rivalsa INPS if 'rivalsa_inps' in data: select = self.input(modal, 'Rivalsa INPS') select.setByText(data['rivalsa_inps']) # select.send_keys(Keys.ENTER) # Selezione Ritenuta d'acconto if 'ritenuta_acconto' in data: select = self.input(modal, "Ritenuta d'acconto") select.setByText(data['ritenuta_acconto'])