Esempio n. 1
0
def test_delete_old_programmes():

    france_3 = Chaines(id_chaine="france_3", nom="FRANCE 3")
    france_3.save()

    prog = Programmes(
        titre_informatif="Manon des sources",
        chaines_id=france_3.id,
        date_debut=make_aware(datetime.datetime.now() - timedelta(7)),
        date_fin=make_aware(datetime.datetime.now() - timedelta(8)),
        url="https://www.programme-tv.net/programme/autre/r1549568936-pause/",
    )
    prog.save()

    prog_2 = Programmes(
        titre_informatif="Jean de Florette",
        chaines_id=france_3.id,
        date_debut=make_aware(datetime.datetime.now() + timedelta(8)),
        date_fin=make_aware(datetime.datetime.now() + timedelta(9)),
    )
    prog_2.save()

    assert len(Programmes.objects.all()) == 2
    assert Programmes.objects.all()[0].titre_informatif == "Manon des sources"

    call_command("delete_programmes")

    assert len(Programmes.objects.all()) == 1
    assert Programmes.objects.all()[0].titre_informatif == "Jean de Florette"
Esempio n. 2
0
def test_bad_package_name(db_feed, capsys):

    france5 = Chaines(id_chaine="47.api-tel.programme-tv.net", nom="FRANCE 5")
    france5.save()

    db_feed.populate("freeeeeeeeee")

    out, err = capsys.readouterr()

    assert (out == "You have to choose one of these selected packages: free,"
            "sfr, bouygues or tnt\n")
Esempio n. 3
0
def test_populate_package_tnt(db_feed):

    france5 = Chaines(id_chaine="5_test", nom="FRANCE 5")
    france5.save()

    db_feed.populate("tnt")

    bouquet = BouquetTv.objects.get(nom="tnt")
    france5 = Chaines.objects.get(nom="FRANCE 5")
    bouquets_chaines = BouquetsChaines.objects.all()

    assert bouquet.nom == "tnt"
    assert france5.bouquettv_set.all()[0].nom == "tnt"
    assert bouquets_chaines[0].numero == 5
Esempio n. 4
0
def test_populate_package_bouygues(db_feed):

    arte = Chaines(id_chaine="7_test", nom="ARTE")
    arte.save()

    db_feed.populate("bouygues")

    bouquet = BouquetTv.objects.get(nom="bouygues")
    arte = Chaines.objects.get(nom="ARTE")
    bouquets_chaines = BouquetsChaines.objects.all()

    assert bouquet.nom == "bouygues"
    assert arte.bouquettv_set.all()[0].nom == "bouygues"
    assert bouquets_chaines[0].numero == 7
Esempio n. 5
0
def test_populate_package_sfr(db_feed):

    france2 = Chaines(id_chaine="2_test", nom="FRANCE 2")
    france2.save()

    db_feed.populate("sfr")

    bouquet = BouquetTv.objects.get(nom="sfr")
    france2 = Chaines.objects.get(nom="FRANCE 2")
    bouquets_chaines = BouquetsChaines.objects.all()

    assert bouquet.nom == "sfr"
    assert france2.bouquettv_set.all()[0].nom == "sfr"
    assert bouquets_chaines[0].numero == 2
Esempio n. 6
0
def test_populate_package_free(db_feed):

    tf1 = Chaines(id_chaine="1_test", nom="TF1")
    tf1.save()

    db_feed.populate("free")

    bouquet = BouquetTv.objects.get(nom="free")
    tf1 = Chaines.objects.get(nom="TF1")
    bouquets_chaines = BouquetsChaines.objects.all()

    assert bouquet.nom == "free"
    assert tf1.bouquettv_set.all()[0].nom == "free"
    assert bouquets_chaines[0].numero == 1
def test_search_programmes_with_a_recherche_field(db_feed):

    france_3 = Chaines(id_chaine="france_3", nom="FRANCE 3")
    france_3.save()

    user = User(
        username="******",
        first_name="Mell",
        email="*****@*****.**",
        password="******",
    )
    user.save()

    recherche = Recherche(
        recherche="manon des sources",
        max_resultats=3,
        utilisateur_id=user.id,
        date_creation=make_aware(datetime.datetime.now()),
    )
    recherche.save()
    recherche.chaines.add(france_3.id)

    specific_search = RechercheSpecifique(recherche_id=recherche.id)
    specific_search.save()

    prog = Programmes(
        titre_informatif="Manon des sources",
        chaines_id=france_3.id,
        date_debut=make_aware(datetime.datetime.now() + timedelta(7)),
        date_fin=make_aware(datetime.datetime.now() + timedelta(8)),
    )
    prog.save()

    db_feed.search_progs()

    assert recherche.programmes.all()[0].id == prog.id
class TestSendEmails(TestCase):
    @freeze_time("Jan 14th, 2020")
    def setUp(self):

        self.client = Client()

        self.france_3 = Chaines(id_chaine="france_3", nom="FRANCE 3")
        self.france_3.save()

        user = User(
            username="******",
            first_name="Mell",
            email="*****@*****.**",
            password="******",
        )
        user.save()

        self.recherche = Recherche(
            recherche="manon des sources",
            max_resultats=3,
            utilisateur_id=user.id,
        )
        self.recherche.save()
        self.recherche.chaines.add(self.france_3.id)

        specific_search = RechercheSpecifique(recherche_id=self.recherche.id)
        specific_search.save()

        self.recherche_2 = Recherche(
            recherche="fleurette",
            max_resultats=3,
            utilisateur_id=user.id,
        )
        self.recherche_2.save()
        self.recherche_2.chaines.add(self.france_3.id)

        specific_search = RechercheSpecifique(recherche_id=self.recherche_2.id)
        specific_search.save()

    def test_send_email_one_programme_match_one_search_of_one_user(self):

        prog = Programmes(
            titre_informatif="Manon des sources",
            chaines_id=self.france_3.id,
            date_debut=make_aware(datetime.datetime.now() + timedelta(8)),
            date_fin=make_aware(datetime.datetime.now() + timedelta(9)),
            url=
            "https://www.programme-tv.net/programme/autre/r1549568936-pause/",
        )
        prog.save()

        titre_prog = Titres.objects.create(
            programmes_id=prog.id,
            nom="La Manon",
        )
        titre_prog.save()

        self.recherche.programmes.add(prog.id)

        call_command("send_emails")

        assert (mail.outbox[0].subject ==
                "Un programme correspond à votre recherche!")

    def test_send_email_two_programmes_match_one_search_of_one_user(self):

        prog = Programmes(
            titre_informatif="Manon des sources",
            chaines_id=self.france_3.id,
            date_debut=make_aware(datetime.datetime.now() + timedelta(8)),
            date_fin=make_aware(datetime.datetime.now() + timedelta(9)),
        )
        prog.save()

        titre_prog = Titres.objects.create(
            programmes_id=prog.id,
            nom="La Manon",
        )
        titre_prog.save()

        prog_2 = Programmes(
            description="Manon des sources",
            chaines_id=self.france_3.id,
            date_debut=make_aware(datetime.datetime.now() + timedelta(9)),
            date_fin=make_aware(datetime.datetime.now() + timedelta(10)),
        )
        prog_2.save()

        titre_prog_2 = Titres.objects.create(
            programmes_id=prog_2.id,
            nom="Manon_2",
        )
        titre_prog_2.save()

        self.recherche.programmes.add(prog.id)
        self.recherche.programmes.add(prog_2.id)

        call_command("send_emails")

        assert (mail.outbox[0].subject ==
                "Des programmes correspondent à votre recherche!")

    def test_send_email_two_programmes_match_two_searches_of_one_user(self):

        prog = Programmes(
            titre_informatif="Manon des sources",
            chaines_id=self.france_3.id,
            date_debut=make_aware(datetime.datetime.now() + timedelta(8)),
            date_fin=make_aware(datetime.datetime.now() + timedelta(9)),
        )
        prog.save()

        titre_prog = Titres.objects.create(
            programmes_id=prog.id,
            nom="La Manon",
        )
        titre_prog.save()

        prog_2 = Programmes(
            description="jean de ...",
            chaines_id=self.france_3.id,
            date_debut=make_aware(datetime.datetime.now() + timedelta(9)),
            date_fin=make_aware(datetime.datetime.now() + timedelta(10)),
        )
        prog_2.save()

        titre_prog_2 = Titres.objects.create(
            programmes_id=prog_2.id,
            nom="jean de fleurette",
        )
        titre_prog_2.save()

        self.recherche.programmes.add(prog.id)
        self.recherche_2.programmes.add(prog_2.id)

        call_command("send_emails")

        assert (mail.outbox[0].subject ==
                "Des programmes correspondent à vos recherches!")