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"
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")
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
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
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
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!")