Exemplo n.º 1
0
    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'])