def mock_dossiers(): from zam_repondeur.fetch.an.dossiers.models import ( Chambre, Dossier, Lecture, Texte, TypeTexte, ) with patch("zam_repondeur.data.get_dossiers_legislatifs") as m_dossiers: m_dossiers.return_value = { "DLR5L15N36030": Dossier( uid="DLR5L15N36030", titre="Sécurité sociale : loi de financement 2018", lectures=[ Lecture( chambre=Chambre.AN, titre="1ère lecture", texte=Texte( uid="PRJLANR5L15B0269", type_=TypeTexte.PROJET, numero=269, titre_long="projet de loi de financement de la sécurité sociale pour 2018", # noqa titre_court="PLFSS pour 2018", date_depot=date(2017, 10, 11), ), organe="PO717460", ) ], ) } yield
def dummy_lecture(app): from zam_repondeur.models import Lecture with transaction.manager: lecture = Lecture.create( chambre="an", session="15", num_texte=269, titre="Titre lecture", organe="PO717460", dossier_legislatif="Titre dossier legislatif", ) return lecture
def test_parse_dossier_plfss_2018(dossier_plfss_2018, textes): from zam_repondeur.fetch.an.dossiers.dossiers_legislatifs import parse_dossier from zam_repondeur.fetch.an.dossiers.models import ( Chambre, Lecture, Texte, TypeTexte, ) dossier = parse_dossier(dossier_plfss_2018, textes) assert dossier.uid == "DLR5L15N36030" assert dossier.titre == "Sécurité sociale : loi de financement 2018" assert dossier.lectures == [ Lecture( chambre=Chambre.AN, titre="Première lecture – Commission saisie au fond", texte=Texte( uid="PRJLANR5L15B0269", type_=TypeTexte.PROJET, numero=269, titre_long= "projet de loi de financement de la sécurité sociale pour 2018", # noqa titre_court="PLFSS pour 2018", date_depot=datetime.date(2017, 10, 11), ), organe="PO420120", ), Lecture( chambre=Chambre.AN, titre="Première lecture – Commission saisie pour avis", texte=Texte( uid="PRJLANR5L15B0269", type_=TypeTexte.PROJET, numero=269, titre_long= "projet de loi de financement de la sécurité sociale pour 2018", # noqa titre_court="PLFSS pour 2018", date_depot=datetime.date(2017, 10, 11), ), organe="PO59048", ), Lecture( chambre=Chambre.AN, titre="Première lecture – Séance publique", texte=Texte( uid="PRJLANR5L15B0269", type_=TypeTexte.PROJET, numero=269, titre_long= "projet de loi de financement de la sécurité sociale pour 2018", # noqa titre_court="PLFSS pour 2018", date_depot=datetime.date(2017, 10, 11), ), organe="PO717460", ), Lecture( chambre=Chambre.SENAT, titre="Première lecture – Commission saisie au fond", texte=Texte( uid="PRJLSNR5S299B0063", type_=TypeTexte.PROJET, numero=63, titre_long= "projet de loi de financement de la sécurité sociale pour 2018", # noqa titre_court="PLFSS pour 2018", date_depot=datetime.date(2017, 11, 6), ), organe="PO211493", ), Lecture( chambre=Chambre.SENAT, titre="Première lecture – Commission saisie pour avis", texte=Texte( uid="PRJLSNR5S299B0063", type_=TypeTexte.PROJET, numero=63, titre_long= "projet de loi de financement de la sécurité sociale pour 2018", # noqa titre_court="PLFSS pour 2018", date_depot=datetime.date(2017, 11, 6), ), organe="PO211494", ), Lecture( chambre=Chambre.SENAT, titre="Première lecture – Séance publique", texte=Texte( uid="PRJLSNR5S299B0063", type_=TypeTexte.PROJET, numero=63, titre_long= "projet de loi de financement de la sécurité sociale pour 2018", # noqa titre_court="PLFSS pour 2018", date_depot=datetime.date(2017, 11, 6), ), organe="PO78718", ), Lecture( chambre=Chambre.AN, titre="Nouvelle lecture – Commission saisie au fond", texte=Texte( uid="PRJLANR5L15B0387", type_=TypeTexte.PROJET, numero=387, titre_long= "projet de loi de financement de la sécurité sociale pour 2018", # noqa titre_court="PLFSS pour 2018", date_depot=datetime.date(2017, 11, 21), ), organe="PO420120", ), Lecture( chambre=Chambre.AN, titre="Nouvelle lecture – Séance publique", texte=Texte( uid="PRJLANR5L15B0387", type_=TypeTexte.PROJET, numero=387, titre_long= "projet de loi de financement de la sécurité sociale pour 2018", # noqa titre_court="PLFSS pour 2018", date_depot=datetime.date(2017, 11, 21), ), organe="PO717460", ), Lecture( chambre=Chambre.SENAT, titre="Nouvelle lecture – Commission saisie au fond", texte=Texte( uid="PRJLSNR5S299B0121", type_=TypeTexte.PROJET, numero=121, titre_long= "projet de loi de financement de la sécurité sociale pour 2018", # noqa titre_court="PLFSS pour 2018", date_depot=datetime.date(2017, 11, 30), ), organe="PO211493", ), Lecture( chambre=Chambre.SENAT, titre="Nouvelle lecture – Séance publique", texte=Texte( uid="PRJLSNR5S299B0121", type_=TypeTexte.PROJET, numero=121, titre_long= "projet de loi de financement de la sécurité sociale pour 2018", # noqa titre_court="PLFSS pour 2018", date_depot=datetime.date(2017, 11, 30), ), organe="PO78718", ), Lecture( chambre=Chambre.AN, titre="Lecture définitive – Commission saisie au fond", texte=Texte( uid="PRJLANR5L15B0434", type_=TypeTexte.PROJET, numero=434, titre_long= "projet de loi de financement de la sécurité sociale pour 2018", # noqa titre_court="PLFSS pour 2018", date_depot=datetime.date(2017, 12, 1), ), organe="PO420120", ), Lecture( chambre=Chambre.AN, titre="Lecture définitive – Séance publique", texte=Texte( uid="PRJLANR5L15B0434", type_=TypeTexte.PROJET, numero=434, titre_long= "projet de loi de financement de la sécurité sociale pour 2018", # noqa titre_court="PLFSS pour 2018", date_depot=datetime.date(2017, 12, 1), ), organe="PO717460", ), ]
def test_parse_dossier_essoc(dossier_essoc, textes): from zam_repondeur.fetch.an.dossiers.dossiers_legislatifs import parse_dossier from zam_repondeur.fetch.an.dossiers.models import ( Chambre, Lecture, Dossier, Texte, TypeTexte, ) dossier = parse_dossier(dossier_essoc, textes) assert dossier == Dossier( uid="DLR5L15N36159", titre= "Fonction publique : un Etat au service d'une société de confiance", lectures=[ Lecture( chambre=Chambre.AN, titre="Première lecture – Commission saisie au fond", texte=Texte( uid="PRJLANR5L15B0424", type_=TypeTexte.PROJET, numero=424, titre_long= "projet de loi pour un Etat au service d’une société de confiance", # noqa titre_court="Etat service société de confiance", date_depot=datetime.date(2017, 11, 27), ), organe="PO744107", ), Lecture( chambre=Chambre.AN, titre="Première lecture – Séance publique", texte=Texte( uid="PRJLANR5L15BTC0575", type_=TypeTexte.PROJET, numero=575, titre_long= "projet de loi sur le projet de loi, après engagement de la procédure accélérée, pour un Etat au service d’une société de confiance (n°424).", # noqa titre_court="Etat service société de confiance", date_depot=datetime.date(2018, 1, 18), ), organe="PO717460", ), Lecture( chambre=Chambre.SENAT, titre="Première lecture – Commission saisie au fond", texte=Texte( uid="PRJLSNR5S299B0259", type_=TypeTexte.PROJET, numero=259, titre_long= "projet de loi pour un Etat au service d'une société de confiance", # noqa titre_court="État au service d'une société de confiance", date_depot=datetime.date(2018, 1, 31), ), organe="PO748821", ), Lecture( chambre=Chambre.SENAT, titre="Première lecture – Séance publique", texte=Texte( uid="PRJLSNR5S299BTC0330", type_=TypeTexte.PROJET, numero=330, titre_long= "projet de loi sur le projet de loi, adopté, par l'Assemblée nationale après engagement de la procédure accélérée, pour un Etat au service d'une société de confiance (n°259).", # noqa titre_court="État au service d'une société de confiance", date_depot=datetime.date(2018, 2, 22), ), organe="PO78718", ), Lecture( chambre=Chambre.AN, titre="Nouvelle lecture – Commission saisie au fond", texte=Texte( uid="PRJLANR5L15B0806", type_=TypeTexte.PROJET, numero=806, titre_long= "projet de loi renforçant l'efficacité de l'administration pour une relation de confiance avec le public", # noqa titre_court= "Renforcement de l'efficacité de l'administration pour une relation de confiance avec le public", # noqa date_depot=datetime.date(2018, 3, 21), ), organe="PO744107", ), Lecture( chambre=Chambre.AN, titre="Nouvelle lecture – Séance publique", texte=Texte( uid="PRJLANR5L15BTC1056", type_=TypeTexte.PROJET, numero=1056, titre_long= "projet de loi , en nouvelle lecture, sur le projet de loi, modifié par le Sénat, renforçant l'efficacité de l'administration pour une relation de confiance avec le public (n°806).", # noqa titre_court= "Renforcement de l'efficacité de l'administration pour une relation de confiance avec le public", # noqa date_depot=datetime.date(2018, 6, 13), ), organe="PO717460", ), ], )
def mock_dossiers(): from zam_repondeur.fetch.an.dossiers.models import ( Chambre, Dossier, Lecture, Texte, TypeTexte, ) with patch("zam_repondeur.data.get_dossiers_legislatifs") as m_dossiers: m_dossiers.return_value = { "DLR5L15N36030": Dossier( uid="DLR5L15N36030", titre="Sécurité sociale : loi de financement 2018", lectures=[ Lecture( chambre=Chambre.AN, titre="Première lecture – Titre lecture", texte=Texte( uid="PRJLANR5L15B0269", type_=TypeTexte.PROJET, chambre=Chambre.AN, legislature=15, numero=269, titre_long="projet de loi de financement de la sécurité sociale pour 2018", # noqa titre_court="PLFSS pour 2018", date_depot=date(2017, 10, 11), ), organe="PO717460", # séance publique ), Lecture( chambre=Chambre.SENAT, titre="Première lecture – Titre lecture", texte=Texte( uid="PRJLSNR5S299B0063", type_=TypeTexte.PROJET, chambre=Chambre.SENAT, legislature=2017, numero=63, titre_long="projet de loi de financement de la sécurité sociale pour 2018", # noqa titre_court="PLFSS pour 2018", date_depot=date(2017, 11, 6), ), organe="PO78718", # séance publique ), ], ), "DLR5L15N36159": Dossier( uid="DLR5L15N36159", titre="Fonction publique : un Etat au service d'une société de confiance", # noqa lectures=[ Lecture( chambre=Chambre.AN, titre="Nouvelle lecture – Titre lecture", texte=Texte( uid="PRJLANR5L15B0806", type_=TypeTexte.PROJET, chambre=Chambre.AN, legislature=15, numero=806, titre_long="projet de loi renforçant l'efficacité de l'administration pour une relation de confiance avec le public", # noqa titre_court="Renforcement de l'efficacité de l'administration pour une relation de confiance avec le public", # noqa date_depot=date(2018, 3, 21), ), organe="PO744107", # commission spéciale ) ], ), "DLR5L15N36892": Dossier( uid="DLR5L15N36892", titre="Sécurité sociale : loi de financement 2019", lectures=[ Lecture( chambre=Chambre.SENAT, titre="Première lecture – Titre lecture", texte=Texte( uid="PRJLSNR5S319B0106", type_=TypeTexte.PROJET, chambre=Chambre.SENAT, legislature=None, numero=106, titre_long="projet de loi de financement de la sécurité sociale pour 2019", # noqa titre_court="PLFSS pour 2019", date_depot=date(2018, 11, 5), ), organe="PO78718", # séance publique ) ], ), } yield
def test_parse_dossier_plf_2018(dossier_plf_2018, textes): from zam_repondeur.fetch.an.dossiers.dossiers_legislatifs import parse_dossier from zam_repondeur.fetch.an.dossiers.models import ( Chambre, Lecture, Texte, TypeTexte, ) dossier = parse_dossier(dossier_plf_2018, textes) assert dossier.uid == "DLR5L15N35854" assert dossier.titre == "Budget : loi de finances 2018" texte_235 = Texte( uid="PRJLANR5L15B0235", type_=TypeTexte.PROJET, chambre=Chambre.AN, legislature=15, numero=235, titre_long="projet de loi de finances pour 2018", titre_court="PLF pour 2018", date_depot=datetime.date(2017, 9, 27), ) texte_107 = Texte( uid="PRJLSNR5S299B0107", type_=TypeTexte.PROJET, chambre=Chambre.SENAT, legislature=None, numero=107, titre_long="projet de loi de finances pour 2018", titre_court="PLF pour 2018", date_depot=datetime.date(2017, 11, 23), ) texte_485 = Texte( uid="PRJLANR5L15B0485", type_=TypeTexte.PROJET, chambre=Chambre.AN, legislature=15, numero=485, titre_long="projet de loi de finances pour 2018", titre_court="PLF pour 2018", date_depot=datetime.date(2017, 12, 12), ) texte_172 = Texte( uid="PRJLSNR5S299B0172", type_=TypeTexte.PROJET, chambre=Chambre.SENAT, legislature=None, numero=172, titre_long="projet de loi de finances pour 2018", titre_court="PLF pour 2018", date_depot=datetime.date(2017, 12, 18), ) texte_506 = Texte( uid="PRJLANR5L15B0506", type_=TypeTexte.PROJET, chambre=Chambre.AN, legislature=15, numero=506, titre_long="projet de loi de finances pour 2018", titre_court="PLF pour 2018", date_depot=datetime.date(2017, 12, 19), ) assert dossier.lectures == [ Lecture( chambre=Chambre.AN, titre="Première lecture – Commission saisie au fond", texte=texte_235, partie=1, organe="PO59048", ), Lecture( chambre=Chambre.AN, titre="Première lecture – Commission saisie au fond", texte=texte_235, partie=2, organe="PO59048", ), Lecture( chambre=Chambre.AN, titre="Première lecture – Commission saisie pour avis", texte=texte_235, partie=1, organe="PO420120", ), Lecture( chambre=Chambre.AN, titre="Première lecture – Commission saisie pour avis", texte=texte_235, partie=2, organe="PO420120", ), Lecture( chambre=Chambre.AN, titre="Première lecture – Commission saisie pour avis", texte=texte_235, partie=1, organe="PO419604", ), Lecture( chambre=Chambre.AN, titre="Première lecture – Commission saisie pour avis", texte=texte_235, partie=2, organe="PO419604", ), Lecture( chambre=Chambre.AN, titre="Première lecture – Commission saisie pour avis", texte=texte_235, partie=1, organe="PO419610", ), Lecture( chambre=Chambre.AN, titre="Première lecture – Commission saisie pour avis", texte=texte_235, partie=2, organe="PO419610", ), Lecture( chambre=Chambre.AN, titre="Première lecture – Commission saisie pour avis", texte=texte_235, partie=1, organe="PO59047", ), Lecture( chambre=Chambre.AN, titre="Première lecture – Commission saisie pour avis", texte=texte_235, partie=2, organe="PO59047", ), Lecture( chambre=Chambre.AN, titre="Première lecture – Commission saisie pour avis", texte=texte_235, partie=1, organe="PO59046", ), Lecture( chambre=Chambre.AN, titre="Première lecture – Commission saisie pour avis", texte=texte_235, partie=2, organe="PO59046", ), Lecture( chambre=Chambre.AN, titre="Première lecture – Commission saisie pour avis", texte=texte_235, partie=1, organe="PO59051", ), Lecture( chambre=Chambre.AN, titre="Première lecture – Commission saisie pour avis", texte=texte_235, partie=2, organe="PO59051", ), Lecture( chambre=Chambre.AN, titre="Première lecture – Commission saisie pour avis", texte=texte_235, partie=1, organe="PO419865", ), Lecture( chambre=Chambre.AN, titre="Première lecture – Commission saisie pour avis", texte=texte_235, partie=2, organe="PO419865", ), Lecture( chambre=Chambre.AN, titre="Première lecture – Séance publique", texte=texte_235, partie=1, organe="PO717460", ), Lecture( chambre=Chambre.AN, titre="Première lecture – Séance publique", texte=texte_235, partie=2, organe="PO717460", ), Lecture( chambre=Chambre.SENAT, titre="Première lecture – Commission saisie au fond", texte=texte_107, partie=1, organe="PO211494", ), Lecture( chambre=Chambre.SENAT, titre="Première lecture – Commission saisie au fond", texte=texte_107, partie=2, organe="PO211494", ), Lecture( chambre=Chambre.SENAT, titre="Première lecture – Séance publique", texte=texte_107, partie=1, organe="PO78718", ), Lecture( chambre=Chambre.SENAT, titre="Première lecture – Séance publique", texte=texte_107, partie=2, organe="PO78718", ), Lecture( chambre=Chambre.AN, titre="Nouvelle lecture – Commission saisie au fond", texte=texte_485, organe="PO59048", ), Lecture( chambre=Chambre.AN, titre="Nouvelle lecture – Séance publique", texte=texte_485, organe="PO717460", ), Lecture( chambre=Chambre.SENAT, titre="Nouvelle lecture – Commission saisie au fond", texte=texte_172, organe="PO211494", ), Lecture( chambre=Chambre.SENAT, titre="Nouvelle lecture – Séance publique", texte=texte_172, organe="PO78718", ), Lecture( chambre=Chambre.AN, titre="Lecture définitive – Commission saisie au fond", texte=texte_506, organe="PO59048", ), Lecture( chambre=Chambre.AN, titre="Lecture définitive – Séance publique", texte=texte_506, organe="PO717460", ), ]