示例#1
0
    def creazione_preventivo(self, nome: str, cliente: str, idtipo: str,
                             stato: str, file_importi: str):
        self.navigateTo("Preventivi")
        self.wait_loader()

        self.find(By.CSS_SELECTOR,
                  '#tabs > li:first-child .btn-primary > .fa-plus').click()
        modal = self.wait_modal()

        # Completamento dei campi per il nuovo elemento
        self.input(modal, 'Nome').setValue(nome)

        select = self.input(modal, 'Cliente')
        select.setByText(cliente)

        select = self.input(modal, 'Tipo di Attività')
        select.setByIndex(idtipo)

        select = self.input(modal, 'Stato')
        select.setByText(stato)

        # Submit
        modal.find_element(By.CSS_SELECTOR, 'button[type="submit"]').click()
        self.wait_loader()

        # Inserimento righe
        row_manager = RowManager(self)
        row_manager.compile(file_importi)
示例#2
0
    def creazione_fattura_acquisto(self, fornitore: str, numero: str,
                                   pagamento: str, file_importi: str):
        self.navigateTo("Fatture di acquisto")
        self.wait_loader()

        # Crea una nuova fattura per il fornitore indicato.
        # Apre la schermata di nuovo elemento
        self.find(By.CSS_SELECTOR,
                  '#tabs > li:first-child .btn-primary > .fa-plus').click()
        modal = self.wait_modal()

        self.input(modal, 'N. fattura del fornitore').setValue(numero)

        select = self.input(modal, 'Fornitore')
        select.setByText(fornitore)

        # Submit
        modal.find_element(By.CSS_SELECTOR, 'button[type="submit"]').click()
        self.wait_loader()
        sleep(1)

        select = self.input(self.find(By.XPATH, '//div[@id="tab_0"]'),
                            'Pagamento')
        select.setByIndex(pagamento)

        #toast = self.driver.find_elements(By.CLASS_NAME, 'toast-message')
        #self.assertIn('Aggiunto fattura', toast)
        sleep(1)
        row_manager = RowManager(self)
        row_manager.compile(file_importi)
示例#3
0
    def test_creazione_preventivo(self):
        # Crea un nuovo preventivo *Required*
        importi = RowManager.list()
        self.creazione_preventivo("Preventivo di Prova", "Cliente", "1",
                                  "Bozza", importi[0])

        # Duplica un preventivo *Required*
        self.duplica_preventivo()

        # Modifica preventivo *Required*
        self.modifica_preventivo("Accettato")

        # Cancellazione preventivo
        self.elimina_preventivo()

        # Creazione contratto da preventivo
        self.creazione_contratto()

        # Creazione ordine cliente da preventivo
        self.creazione_ordine_cliente()

        # Creazione ordine fornitore da preventivo
        self.creazione_ordine_fornitore()

        # Creazione attività
        self.creazione_attività()

        # Creazione DDT in uscita
        self.creazione_ddt_uscita()

        # Creazione fattura
        self.creazione_fattura()

        # Verifica preventivi
        self.verifica_preventivi()
示例#4
0
    def creazione_ddt_entrata(self, fornitore: str, causale: str,
                              file_importi: str):
        self.navigateTo("Ddt in entrata")
        # Crea un nuovo ddt del fornitore indicato.
        # Apre la schermata di nuovo elemento
        self.find(By.CSS_SELECTOR,
                  '#tabs > li:first-child .btn-primary > .fa-plus').click()
        modal = self.wait_modal()

        select = self.input(modal, 'Mittente')
        select.setByText(fornitore)

        select = self.input(modal, 'Causale trasporto')
        select.setByIndex(causale)

        # Submit
        modal.find_element(By.CSS_SELECTOR, 'button[type="submit"]').click()
        self.wait_loader()

        row_manager = RowManager(self)
        row_manager.compile(file_importi)
    def creazione_ordine_cliente(self, cliente: str, file_importi: str):
        self.navigateTo("Ordini cliente")
        self.wait_loader()

        # Crea un nuovo ordine cliente per il cliente indicato.
        self.find(By.CSS_SELECTOR,
                  '#tabs > li:first-child .btn-primary > .fa-plus').click()
        modal = self.wait_modal()

        select = self.input(modal, 'Cliente')
        select.setByText(cliente)

        # Submit
        modal.find_element(By.CSS_SELECTOR, 'button[type="submit"]').click()
        self.wait_loader()

        #toast = self.driver.find_elements(By.CLASS_NAME, 'toast-message')
        #self.assertIn('Aggiunto ordine cliente', toast)

        row_manager = RowManager(self)
        row_manager.compile(file_importi)
示例#6
0
    def attivita(self, cliente: str, tipo: str, stato: str, file_importi: str):
        self.navigateTo("Attività")

        # Crea un nuovo intervento.
        # Apre la schermata di nuovo elemento
        self.find(By.CSS_SELECTOR,
                  '#tabs > li:first-child .btn-primary > .fa-plus').click()
        modal = self.wait_modal()

        self.input(modal, 'Cliente').setByText(cliente)
        self.input(modal, 'Tipo').setByIndex(tipo)
        self.input(modal, 'Stato').setByIndex(stato)

        # Submit
        modal.find_element(By.CSS_SELECTOR,
                           'button[class="btn btn-primary"]').click()
        self.wait_loader()

        #toast = self.driver.find_elements(By.CLASS_NAME, 'toast-message')
        #self.assertIn('Aggiunto intervento', toast)
        sleep(1)
        row_manager = RowManager(self)
        row_manager.compile(file_importi)
    def test_creazione_ordine_cliente(self):
        # Crea una nuovo ordine cliente per il cliente "Cliente". *Required*
        importi = RowManager.list()
        self.creazione_ordine_cliente("Cliente", importi[0])
        self.creazione_ordine_cliente("Cliente", importi[0])

        # Modifica ordine cliente
        self.modifica_ordine_cliente()

        # Cancellazione ordine cliente
        self.elimina_ordine_cliente()

        # Verifica ordine cliente
        self.verifica_ordine_cliente()
    def creazione_contratto(self, nome: str, cliente: str, stato: str,
                            file_importi: str):
        self.navigateTo("Contratti")
        self.wait_loader()

        # Crea una nuovo contratto per il cliente indicato.
        self.find(By.CSS_SELECTOR,
                  '#tabs > li:first-child .btn-primary > .fa-plus').click()
        modal = self.wait_modal()

        # Completamento dei campi per il nuovo elemento
        self.input(modal, 'Nome').setValue(nome)
        select = self.input(modal, 'Cliente')
        select.setByText(cliente)
        self.input(modal, 'Stato').setByIndex(stato)

        # Submit
        modal.find_element(By.CSS_SELECTOR, 'button[type="submit"]').click()
        self.wait_loader()

        sleep(1)
        row_manager = RowManager(self)
        row_manager.compile(file_importi)
    def test_creazione_ordine_fornitore(self):
        # Crea una nuovo ordine fornitore *Required*
        importi = RowManager.list()
        self.creazione_ordine_fornitore("Fornitore", importi[0])
        self.creazione_ordine_fornitore("Fornitore", importi[0])

        # Modifica ordine fornitore
        self.modifica_ordine_fornitore("Modifica di Prova")

        # Cancellazione ordine fornitore
        self.elimina_ordine_fornitore()

        # Verifica ordine fornitore
        self.verifica_ordine_fornitore()
示例#10
0
    def test_creazione_ddt_entrata(self):
        # Crea un nuovo ddt dal fornitore "Fornitore". *Required*
        importi = RowManager.list()
        self.creazione_ddt_entrata("Fornitore", "1", importi[0])

        # Duplica ddt entrata
        self.duplica_ddt_entrata()

        # Modifica Ddt
        self.modifica_ddt("Evaso")

        # Cancellazione Ddt
        self.elimina_ddt()

        # Veridica DDT
        self.verifica_ddt()
示例#11
0
    def test_creazione_ddt_uscita(self):
        # Crea un nuovo ddt al cliente "Cliente". *Required*
        importi = RowManager.list()
        self.creazione_ddt_uscita("Cliente", "2", importi[0])

        # Duplica ddt uscita
        self.duplica_ddt_uscita()

        # Modifica Ddt
        self.modifica_ddt("Evaso")

        # Cancellazione Ddt
        self.elimina_ddt()

        # Veridica DDT
        self.verifica_ddt()
    def test_creazione_contratto(self):
        # Crea una nuovo contratto *Required*
        importi = RowManager.list()
        self.creazione_contratto("Contratto di Prova da Modificare", "Cliente",
                                 "1", importi[0])

        # Duplica un contratto *Required*
        self.duplica_contratto()

        # Modifica Contratto
        self.modifica_contratto("Contratto di Prova")

        # Cancellazione contratto
        self.elimina_contratto()

        # Verifica contratto
        self.verifica_contratto()
示例#13
0
    def test_attivita(self):
        # Crea un nuovo intervento. *Required*
        importi = RowManager.list()
        self.attivita("Cliente", "1", "2", importi[0])

        # Duplica attività
        self.duplica_attività()

        # Modifica intervento
        self.modifica_attività("3")

        # Cancellazione intervento
        self.elimina_attività()

        # Controllo righe
        self.controllo_righe()

        # Verifica attività
        self.verifica_attività()
示例#14
0
    def test_creazione_fattura_acquisto(self):
        # Crea una nuova fattura *Required*
        importi = RowManager.list()
        self.creazione_fattura_acquisto("Fornitore", "1", "1", importi[0])

        # Modifica fattura
        self.modifica_fattura_acquisto("Emessa")

        # Controllo valori piano dei conti
        self.controllo_fattura_acquisto()

        # Cancellazione fattura di acquisto
        self.elimina_documento()

        # Verifica fattura di acquisto
        self.verifica_fattura_acquisto()

        # Verifica XML autofattura
        self.verifica_xml_autofattura(importi[0], "1")
示例#15
0
    def verifica_xml_autofattura(self, file_importi: str, pagamento: str):
        self.expandSidebar("Anagrafiche")
        self.wait_loader()

        # Crea una nuova anagrafica estera
        self.find(By.CSS_SELECTOR,
                  '#tabs > li:first-child .btn-primary > .fa-plus').click()
        modal = self.wait_modal()

        # Completamento dei campi per il nuovo elemento
        self.input(modal, 'Denominazione').setValue("Fornitore Estero")
        select = self.input(modal, 'Tipo di anagrafica')
        select.setByText("Fornitore")

        # Submit
        modal.find_element(By.CSS_SELECTOR, 'button[type="submit"]').click()
        self.wait_loader()

        # Completamento anagrafica
        self.navigateTo("Anagrafiche")
        self.wait_loader()

        element = self.driver.find_element(
            By.XPATH, '//th[@id="th_Ragione-sociale"]/input')
        element.send_keys("Fornitore Estero")
        WebDriverWait(self.driver, 5).until(
            EC.visibility_of_element_located(
                (By.XPATH, '//th[@id="th_Ragione-sociale"]/input'))).send_keys(
                    Keys.ENTER)
        sleep(1)

        self.find(By.XPATH, '//div[@id="tab_0"]//tbody//td[2]//div[1]').click()
        sleep(3)

        self.find(By.XPATH,
                  '//span[@id="select2-id_nazione-container"]').click()
        self.wait_loader()
        element = self.find(
            By.XPATH,
            '//span[@class="select2-search select2-search--dropdown"]//input[@type="search"]'
        )
        element.send_keys("Germania")
        sleep(1)
        self.find(
            By.XPATH,
            '//li[@class="select2-results__option select2-results__option--highlighted"]'
        ).click()
        self.wait_loader()

        self.input(None, 'Partita IVA').setValue("05024030287")
        self.input(None, 'Codice fiscale').setValue("05024030287")
        element = self.driver.find_element(By.XPATH,
                                           '//input[@id="indirizzo"]')
        element.send_keys('Via Roma')
        self.input(None, 'C.A.P.').setValue("35042")
        self.input(None, 'Città').setValue("Berlino")

        self.find(By.XPATH, '//a[@id="save"]').click()
        self.wait_loader()

        #Creazione fattura di acquisto estera
        self.expandSidebar("Acquisti")
        self.navigateTo("Fatture di acquisto")
        self.wait_loader()

        self.find(By.CSS_SELECTOR,
                  '#tabs > li:first-child .btn-primary > .fa-plus').click()
        modal = self.wait_modal()

        select = self.input(modal, 'Fornitore')
        select.setByText("Fornitore Estero")
        self.input(modal, 'N. fattura del fornitore').setValue("01")

        # Submit
        modal.find_element(By.CSS_SELECTOR, 'button[type="submit"]').click()
        self.wait_loader()

        # Inserisco le righe
        sleep(1)
        select = self.input(self.find(By.XPATH, '//div[@id="tab_0"]'),
                            'Pagamento')
        select.setByIndex(pagamento)
        row_manager = RowManager(self)
        row_manager.compile(file_importi)

        # Modifica stato in emessa
        self.input(None, 'Stato*').setByText("Emessa")
        self.find(By.XPATH, '//div[@id="tab_0"]//a[@id="save"]').click()
        self.wait_loader()

        # Creazione autofattura
        self.find(
            By.XPATH,
            '//button[@class="btn btn-primary unblockable dropdown-toggle "]'
        ).click()
        self.find(By.XPATH, '//li//a[@class="bound clickable"]').click()
        self.wait_modal()

        self.find(
            By.XPATH,
            '//div[@class="modal-body"]//span[@class="select2-selection select2-selection--single"]'
        ).click()
        element = self.find(
            By.XPATH,
            '//span[@class="select2-search select2-search--dropdown"]//input[@type="search"]'
        )
        element.send_keys("TD17")
        sleep(1)
        self.find(
            By.XPATH,
            '//li[@class="select2-results__option select2-results__option--highlighted"]'
        ).click()
        self.wait_loader()

        self.find(
            By.XPATH,
            '//div[@class="modal-body"]//button[@type="submit"]').click()
        self.wait_loader()

        # Modifica stato in emessa
        self.input(None, 'Stato*').setByText("Emessa")
        self.find(By.XPATH, '//div[@id="tab_0"]//a[@id="save"]').click()
        self.wait_loader()