Skip to content

Commit

Permalink
Utiliser des factories à la place de baker
Browse files Browse the repository at this point in the history
  • Loading branch information
Anto59290 committed Feb 28, 2025
1 parent 9ed040e commit 1e03de0
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 19 deletions.
18 changes: 9 additions & 9 deletions sv/tests/test_evenement_contacts_list.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
import pytest
from model_bakery import baker
from playwright.sync_api import expect
from core.models import Contact, Structure, Agent

from core.factories import ContactAgentFactory, StructureFactory
from core.models import Contact, Structure
from sv.factories import EvenementFactory


@pytest.mark.django_db
def test_contacts_agents_order_in_list(live_server, page):
evenement = EvenementFactory()
structure_mus = Structure.objects.create(niveau1="AC/DAC/DGAL", niveau2="MUS", libelle="MUS")
structure_ddpp17 = Structure.objects.create(niveau1="DDI/DDPP", niveau2="DDPP17", libelle="DDPP17")
agent1 = baker.make(Agent, structure=structure_mus)
agent2 = baker.make(Agent, structure=structure_ddpp17)
contact1 = Contact.objects.create(agent=agent1)
contact2 = Contact.objects.create(agent=agent2)
structure_mus = StructureFactory(niveau1="AC/DAC/DGAL", niveau2="MUS", libelle="MUS")
structure_ddpp17 = StructureFactory(niveau1="DDI/DDPP", niveau2="DDPP17", libelle="DDPP17")
contact1 = ContactAgentFactory(agent__structure=structure_mus)
contact2 = ContactAgentFactory(agent__structure=structure_ddpp17)

evenement.contacts.set([contact1, contact2])

page.goto(f"{live_server.url}/{evenement.get_absolute_url()}")
Expand Down Expand Up @@ -50,7 +50,7 @@ def test_when_structure_is_in_fin_suivi_all_agents_should_be_in_fin_suivi(
evenement = EvenementFactory()
contact_structure = Contact.objects.get(email="[email protected]")
contact_agent_1 = Contact.objects.get(email="[email protected]")
contact_agent_2 = Contact.objects.create(agent=baker.make(Agent, structure=contact_structure.structure))
contact_agent_2 = ContactAgentFactory(agent__structure=contact_structure.structure)
evenement.contacts.set([contact_agent_1, contact_agent_2, contact_structure])

page.goto(f"{live_server.url}/{evenement.get_absolute_url()}")
Expand Down
10 changes: 4 additions & 6 deletions sv/tests/test_evenement_contacts_remove.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
from django.contrib.contenttypes.models import ContentType
from django.urls import reverse
from model_bakery import baker
from playwright.sync_api import expect

from core.factories import ContactAgentFactory
from core.models import Contact, Agent, Structure
from core.models import Structure
from sv.factories import EvenementFactory


Expand All @@ -31,20 +30,19 @@ def test_can_remove_myself_from_an_evenement(live_server, page, mocked_authentif

def test_can_remove_another_contact_from_a_fiche(live_server, page):
evenement = EvenementFactory()
agent = baker.make(Agent)
contact = baker.make(Contact, agent=agent)
contact = ContactAgentFactory()
evenement.contacts.set([contact])
page.goto(f"{live_server.url}/{evenement.get_absolute_url()}")
page.get_by_role("tab", name="Contacts").click()

page.locator(f'a[aria-controls="fr-modal-contact-{contact.id}"]').click()
expect(page.get_by_text(str(agent), exact=True)).to_be_visible()
expect(page.get_by_text(str(contact.agent), exact=True)).to_be_visible()
expect(page.locator(f"#fr-modal-contact-{contact.id}")).to_be_visible()
page.get_by_test_id(f"contact-delete-{contact.id}").click()

assert page.url == f"{live_server.url}{evenement.get_absolute_url()}#tabpanel-contacts-panel"
assert evenement.contacts.count() == 0
expect(page.get_by_text(str(agent), exact=True)).not_to_be_visible()
expect(page.get_by_text(str(contact.agent), exact=True)).not_to_be_visible()


def test_cant_forge_contact_deletion_of_evenement_i_cant_see(client):
Expand Down
7 changes: 3 additions & 4 deletions sv/tests/test_evenement_etats.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import pytest
from django.urls import reverse
from model_bakery import baker

from core.factories import ContactStructureFactory
from sv.factories import EvenementFactory, FicheDetectionFactory
Expand Down Expand Up @@ -111,7 +110,7 @@ def test_can_cloturer_evenement_if_contacts_structures_in_fin_suivi(
"""Test qu'un agent de l'AC connecté peut cloturer un événement si toutes les structures de la liste des contacts sont en fin de suivi."""
evenement = EvenementFactory()
mocked_authentification_user.agent.structure = contact_ac.structure
contact2 = Contact.objects.create(structure=baker.make(Structure, _fill_optional=True))
contact2 = ContactStructureFactory()

evenement.contacts.add(contact2)
evenement.contacts.add(contact_ac)
Expand Down Expand Up @@ -161,7 +160,7 @@ def test_cannot_cloturer_evenement_if_on_off_contacts_structures_not_in_fin_suiv
"""Test qu'un agent de l'AC connecté ne peut pas cloturer un événement si une structure de la liste des contacts n'est pas en fin de suivi."""
evenement = EvenementFactory()
mocked_authentification_user.agent.structure = contact_ac.structure
contact2 = Contact.objects.create(structure=baker.make(Structure, _fill_optional=True))
contact2 = ContactStructureFactory()

evenement.contacts.add(contact2)
evenement.contacts.add(contact_ac)
Expand Down Expand Up @@ -190,7 +189,7 @@ def test_cannot_cloturer_evenement_if_on_off_contacts_structures_not_in_fin_suiv
def test_cannot_cloturer_evenement_if_user_is_not_ac(live_server, page: Page, mocked_authentification_user):
"""Test qu'un agent connecté non membre de l'AC ne peut pas cloturer un événement même si la/les structure(s) de la liste des contacts sont en fin de suivi."""
evenement = EvenementFactory()
contact = Contact.objects.create(structure=baker.make(Structure, _fill_optional=True))
contact = ContactStructureFactory()
evenement.contacts.add(contact)
FinSuiviContact.objects.create(
content_type=ContentType.objects.get_for_model(evenement), object_id=evenement.id, contact=contact
Expand Down

0 comments on commit 1e03de0

Please sign in to comment.