from django.contrib.staticfiles.testing import StaticLiveServerTestCase

from selenium.webdriver.common.by import By
from selenium.webdriver.firefox.webdriver import WebDriver

class view_indexTests(StaticLiveServerTestCase):

    selenium = None

    @classmethod
    def setUpClass(cls):
        """
        Le but de cette méthode est d'initialiser selenium avant le début des tests de la classe

        """
        super().setUpClass()
        cls.selenium = WebDriver()
        cls.selenium.implicitly_wait(10)

    @classmethod
    def tearDownClass(cls):
        """
        Le but de cette méthode est de fermer selenium à la fin des tests de la classe
        """
        cls.selenium.quit()
        super().tearDownClass()

    def test_index_bouton_telechargement_ville(self):
        """
        Cette mthode test le bouton de téléchargement de la page index
        """
        self.selenium.get('%s%s' % (self.live_server_url, '/recuperateur_reseau_viaire/'))
        self.selenium.find_element(
            By.XPATH, '//a[@href="telecharge_liste_commune"]'
        ).click()
        self.assertTrue(self.selenium.current_url.endswith("/recuperateur_reseau_viaire/telecharge_liste_commune"))