diff --git a/src/Controller/Api/SignalementController.php b/src/Controller/Api/SignalementController.php new file mode 100644 index 000000000..4221b5806 --- /dev/null +++ b/src/Controller/Api/SignalementController.php @@ -0,0 +1,102 @@ + []]], + tags: ['Signalements'], + )] + #[OA\Parameter( + name: 'limit', + description: 'Nombre de signalements à retourner (défaut : 20, max : 100)', + in: 'query', + required: false, + schema: new OA\Schema(type: 'limit', example: '10') + )] + #[OA\Parameter( + name: 'page', + description: 'Numéro de la page de signalement à retourner (défaut : 1)', + in: 'query', + required: false, + schema: new OA\Schema(type: 'page', example: '2') + )] + #[OA\Response( + response: Response::HTTP_OK, + description: 'Une liste de signalements', + content: new OA\JsonContent( + type: 'array', + items: new OA\Items(ref: new Model(type: SignalementResponse::class)) + ) + )] + public function getSignalementList( + SignalementRepository $signalementRepository, + SignalementResponseFactory $signalementResponseFactory, + #[MapQueryParameter] int $limit = 20, + #[MapQueryParameter] int $page = 1, + ): JsonResponse { + if ($limit < 1) { + $limit = 1; + } + if ($limit > 100) { + $limit = 100; + } + if ($page < 1) { + $page = 1; + } + $signalements = $signalementRepository->findForAPI(user: $this->getUser(), limit: $limit, page: $page); + $resources = []; + foreach ($signalements as $signalement) { + $resources[] = $signalementResponseFactory->createFromSignalement($signalement); + } + + return new JsonResponse($resources, Response::HTTP_OK); + } + + #[Route('/signalements/{uuid}', name: 'api_signalement_uuid', methods: ['GET'])] + #[OA\Get( + path: '/api/signalements/{uuid}', + description: 'Retourne un signalement récupéré par son UUID', + summary: 'Signalement par UUID', + security: [['bearerAuth' => []]], + tags: ['Signalements'] + )] + #[OA\Response( + response: Response::HTTP_OK, + description: 'Un signalement', + content: new OA\JsonContent(ref: '#/components/schemas/SignalementResponse') + )] + public function getSignalementByUuid( + SignalementRepository $signalementRepository, + SignalementResponseFactory $signalementResponseFactory, + string $uuid, + ): JsonResponse { + $signalements = $signalementRepository->findForAPI(user : $this->getUser(), uuid : $uuid); + if (!count($signalements)) { + return new JsonResponse(['message' => 'Signalement introuvable'], Response::HTTP_NOT_FOUND); + } + $resource = $signalementResponseFactory->createFromSignalement($signalements[0]); + + return new JsonResponse($resource, Response::HTTP_OK); + } +} diff --git a/src/DataFixtures/Files/User.yml b/src/DataFixtures/Files/User.yml index 3cf75dd84..8a2546cc0 100644 --- a/src/DataFixtures/Files/User.yml +++ b/src/DataFixtures/Files/User.yml @@ -2,7 +2,7 @@ users: - email: api-01@histologe.fr roles: "[\"ROLE_API_USER\"]" - partner: "Administrateurs Histologe ALL" + partner: "Partenaire 13-01" statut: 1 is_generique: 0 is_mailing_active: 0 diff --git a/src/Dto/Api/Model/Desordre.php b/src/Dto/Api/Model/Desordre.php new file mode 100644 index 000000000..0b02bc0fb --- /dev/null +++ b/src/Dto/Api/Model/Desordre.php @@ -0,0 +1,29 @@ +categorie = $categorie; + $this->zone = $zone; + foreach ($data as $label => $detail) { + $details = $label; + if ($detail->getLabel() && ($detail instanceof DesordrePrecision || $detail instanceof Criticite)) { + $details .= ' : '.$detail->getLabel(); + } + $this->details[] = $details; + } + } +} diff --git a/src/Dto/Api/Model/File.php b/src/Dto/Api/Model/File.php new file mode 100644 index 000000000..3c6d0e25e --- /dev/null +++ b/src/Dto/Api/Model/File.php @@ -0,0 +1,10 @@ +dateIntervention = $intervention->getScheduledAt()->format(\DATE_ATOM); + $this->type = $intervention->getType()?->label(); + $this->statut = $intervention->getStatus(); + $this->partner = $intervention->getPartner() ? new Partner($intervention->getPartner()) : null; + $this->details = $intervention->getDetails(); // traitement de suppression du html + $this->conclusions = $intervention->getConcludeProcedure() ?? []; + $this->occupantPresent = $intervention->isOccupantPresent(); + $this->proprietairePresent = $intervention->isProprietairePresent(); + } +} diff --git a/src/Dto/Api/Model/Partner.php b/src/Dto/Api/Model/Partner.php new file mode 100644 index 000000000..b2ff569ce --- /dev/null +++ b/src/Dto/Api/Model/Partner.php @@ -0,0 +1,20 @@ +nom = $partner->getNom(); + $this->type = $partner->getType()?->label(); + $this->competences = $partner->getCompetence() ?? []; + } +} diff --git a/src/Dto/Api/Model/Suivi.php b/src/Dto/Api/Model/Suivi.php new file mode 100644 index 000000000..01b6cb209 --- /dev/null +++ b/src/Dto/Api/Model/Suivi.php @@ -0,0 +1,26 @@ +id = $suivi->getId(); + $this->dateCreation = $suivi->getCreatedAt()->format(\DATE_ATOM); + $this->description = $suivi->getDescription(); // traitement de suppression du html ? comment gérer les bouton/doc qui sont présent en dur dans le contenu ? + $this->public = $suivi->getIsPublic(); + $this->type = $suivi->getType(); + $this->createdBy = $suivi->getCreatedByLabel(); + } +} diff --git a/src/Dto/Api/Response/SignalementResponse.php b/src/Dto/Api/Response/SignalementResponse.php new file mode 100644 index 000000000..38c3482e3 --- /dev/null +++ b/src/Dto/Api/Response/SignalementResponse.php @@ -0,0 +1,151 @@ +type) { + return 'Suivi automatique'; + } + if ($this->getCreatedBy()) { + if (in_array('ROLE_USAGER', $this->getCreatedBy()->getRoles())) { + if ($this->getCreatedBy()->getEmail() === $this->getSignalement()->getMailOccupant()) { + return 'OCCUPANT : '.ucfirst($this->getCreatedBy()->getNomComplet()); + } + + return 'DECLARANT : '.ucfirst($this->getCreatedBy()->getNomComplet()); + } + if ($this->getCreatedBy()->getPartnerInTerritoryOrFirstOne($this->getSignalement()->getTerritory())) { + $partner = $this->getCreatedBy()->getPartnerInTerritoryOrFirstOne($this->getSignalement()->getTerritory()); + if ($partner->getIsArchive()) { + return 'Partenaire supprimé'; + } + + return $partner->getNom().' : '.$this->getCreatedBy()->getPrenom().' '.$this->getCreatedBy()->getNom(); + } + + return 'Aucun'; + } + if ($this->getCreatedAt()->format('Y') >= 2024) { + return 'Occupant ou déclarant'; + } + if ($this->getSignalement()->getIsNotOccupant()) { + return 'DECLARANT : '.strtoupper($this->getSignalement()->getNomDeclarant()).' '.ucfirst($this->getSignalement()->getPrenomDeclarant()); + } + + return 'OCCUPANT : '.strtoupper($this->getSignalement()->getNomOccupant()).' '.ucfirst($this->getSignalement()->getPrenomOccupant()); + } + public function getDescription($transformHtml = true): ?string { if (null !== $this->deletedAt) { diff --git a/src/Factory/Api/FileFactory.php b/src/Factory/Api/FileFactory.php new file mode 100644 index 000000000..ea56aa30a --- /dev/null +++ b/src/Factory/Api/FileFactory.php @@ -0,0 +1,26 @@ +titre = $fileEntity->getTitle(); + $file->documentType = $fileEntity->getDocumentType()->value; + $file->url = $this->urlGenerator->generate('show_file', ['uuid' => $fileEntity->getUuid()], UrlGeneratorInterface::ABSOLUTE_URL); + + return $file; + } +} diff --git a/src/Factory/Api/SignalementResponseFactory.php b/src/Factory/Api/SignalementResponseFactory.php new file mode 100644 index 000000000..76b8a978b --- /dev/null +++ b/src/Factory/Api/SignalementResponseFactory.php @@ -0,0 +1,185 @@ +uuid = $signalement->getUuid(); + $signalementResponse->reference = $signalement->getReference(); + $signalementResponse->dateCreation = $signalement->getCreatedAt()->format(\DATE_ATOM); + $signalementResponse->statut = $signalement->getStatut(); // envoyer un libellé ? + $signalementResponse->dateValidation = $signalement->getValidatedAt()?->format(\DATE_ATOM); + $signalementResponse->dateCloture = $signalement->getClosedAt()?->format(\DATE_ATOM); + $signalementResponse->motifCloture = $signalement->getMotifCloture()?->value; + $signalementResponse->motifRefus = $signalement->getMotifRefus()?->value; + $signalementResponse->abandonProcedureUsager = $signalement->getIsUsagerAbandonProcedure(); + // type declarant et details + $signalementResponse->typeDeclarant = $signalement->getProfileDeclarant()?->value; + $signalementResponse->precisionTypeSiBailleur = $signalement->getTypeProprio()?->value; + $signalementResponse->lienDeclarantOccupantSiTiers = $signalement->getLienDeclarantOccupant(); + $signalementResponse->details = $signalement->getDetails(); // renomer ? + // infos logement + $signalementResponse->natureLogement = $signalement->getNatureLogement(); + $signalementResponse->precisionNatureLogement = $signalement->getTypeCompositionLogement()?->getTypeLogementNatureAutrePrecision(); + $signalementResponse->logementSocial = $signalement->getIsLogementSocial(); + $signalementResponse->superficie = $signalement->getSuperficie(); + $signalementResponse->pieceUnique = $this->stringToBool($signalement->getTypeCompositionLogement()?->getCompositionLogementPieceUnique()); + $signalementResponse->nbPieces = $signalement->getTypeCompositionLogement()?->getCompositionLogementNbPieces() ?? $signalement->getNbPiecesLogement(); + $signalementResponse->anneeConstruction = $signalement->getInformationComplementaire()?->getInformationsComplementairesLogementAnneeConstruction() ?? $signalement->getAnneeConstruction(); + $signalementResponse->constructionAvant1949 = $signalement->getIsConstructionAvant1949(); + $signalementResponse->nbNiveaux = $signalement->getInformationComplementaire()?->getInformationsComplementairesLogementNombreEtages() ?? $signalement->getNbNiveauxLogement(); + $signalementResponse->rezDeChaussee = $this->stringToBool($signalement->getTypeCompositionLogement()?->getTypeLogementRdc()); + $signalementResponse->dernierEtage = $this->stringToBool($signalement->getTypeCompositionLogement()?->getTypeLogementDernierEtage()); + $signalementResponse->sousSolSansFenetre = $this->stringToBool($signalement->getTypeCompositionLogement()?->getTypeLogementSousSolSansFenetre()); + $signalementResponse->sousCombleSansFenetre = $this->stringToBool($signalement->getTypeCompositionLogement()?->getTypeLogementSousCombleSansFenetre()); + $signalementResponse->pieceAVivreSuperieureA9m = $this->stringToBool($signalement->getTypeCompositionLogement()?->getTypeLogementCommoditesPieceAVivre9m()); + $signalementResponse->cuisine = $this->stringToBool($signalement->getTypeCompositionLogement()?->getTypeLogementCommoditesCuisine()); + $signalementResponse->cuisineCollective = $this->stringToBool($signalement->getTypeCompositionLogement()?->getTypeLogementCommoditesCuisineCollective()); + $signalementResponse->salleDeBain = $this->stringToBool($signalement->getTypeCompositionLogement()?->getTypeLogementCommoditesSalleDeBain()); + $signalementResponse->salleDeBainCollective = $this->stringToBool($signalement->getTypeCompositionLogement()?->getTypeLogementCommoditesSalleDeBainCollective()); + $signalementResponse->wc = $this->stringToBool($signalement->getTypeCompositionLogement()?->getTypeLogementCommoditesWc()); + $signalementResponse->wcDansCuisine = $this->stringToBool($signalement->getTypeCompositionLogement()?->getTypeLogementCommoditesWcCuisine()); + $signalementResponse->wcCollectif = $this->stringToBool($signalement->getTypeCompositionLogement()?->getTypeLogementCommoditesWcCollective()); + $signalementResponse->hauteurSuperieureA2metres = $this->stringToBool($signalement->getTypeCompositionLogement()?->getCompositionLogementHauteur()); + $signalementResponse->dpeExistant = $this->stringToBool($signalement->getTypeCompositionLogement()?->getBailDpeDpe()); + $signalementResponse->dpeClasseEnergetique = $signalement->getTypeCompositionLogement()?->getBailDpeClasseEnergetique(); + $signalementResponse->geoLocalisation = new Geolocalisation($signalement->getGeoloc()['lat'] ?? null, $signalement->getGeoloc()['lng'] ?? null); + // infos declarant + $signalementResponse->structureDeclarant = $signalement->getStructureDeclarant(); + $signalementResponse->nomDeclarant = $signalement->getNomDeclarant(); + $signalementResponse->prenomDeclarant = $signalement->getPrenomDeclarant(); + $signalementResponse->telephoneDeclarant = $signalement->getTelDeclarantDecoded(); + $signalementResponse->telephoneSecondaireDeclarant = $signalement->getTelDeclarantSecondaireDecoded(); + $signalementResponse->mailDeclarant = $signalement->getMailDeclarant(); + $signalementResponse->estTravailleurSocialPourOccupant = $this->stringToBool($signalement->getSituationFoyer()?->getTravailleurSocialAccompagnementDeclarant()); + // infos occupants + $signalementResponse->civiliteOccupant = $signalement->getCiviliteOccupant(); + $signalementResponse->nomOccupant = $signalement->getNomOccupant(); + $signalementResponse->prenomOccupant = $signalement->getPrenomOccupant(); + $signalementResponse->telephoneOccupant = $signalement->getTelOccupantDecoded(); + $signalementResponse->telephoneSecondaireOccupant = $signalement->getTelOccupantBisDecoded(); + $signalementResponse->mailOccupant = $signalement->getMailOccupant(); + $signalementResponse->adresseOccupant = $signalement->getAdresseOccupant(); + $signalementResponse->codePostalOccupant = $signalement->getCpOccupant(); + $signalementResponse->villeOccupant = $signalement->getVilleOccupant(); + $signalementResponse->etageOccupant = $signalement->getEtageOccupant(); + $signalementResponse->escalierOccupant = $signalement->getEscalierOccupant(); + $signalementResponse->numAppartOccupant = $signalement->getNumAppartOccupant(); + $signalementResponse->adresseAutreOccupant = $signalement->getAdresseAutreOccupant(); + $signalementResponse->codeInseeOccupant = $signalement->getInseeOccupant(); + $signalementResponse->cleBanAdresseOccupant = $signalement->getBanIdOccupant(); + $signalementResponse->dateNaissanceOccupant = $signalement->getDateNaissanceOccupant()?->format('Y-m-d') ?? $signalement->getInformationComplementaire()?->getInformationsComplementairesSituationOccupantsDateNaissance(); + $signalementResponse->dateEntreeLogement = $signalement->getDateEntree()?->format('Y-m-d'); + $signalementResponse->nbOccupantsLogement = $signalement->getNbOccupantsLogement(); + $signalementResponse->enfantsDansLogement = $this->stringToBool($signalement->getTypeCompositionLogement()?->getCompositionLogementEnfants()); + $signalementResponse->assuranceContactee = $this->stringToBool($signalement->getInformationProcedure()?->getInfoProcedureAssuranceContactee()); + $signalementResponse->reponseAssurance = $signalement->getInformationProcedure()?->getInfoProcedureReponseAssurance(); + $signalementResponse->souhaiteQuitterLogement = $this->stringToBool($signalement->getSituationFoyer()?->getTravailleurSocialQuitteLogement()); + $signalementResponse->souhaiteQuitterLogementApresTravaux = $this->stringToBool($signalement->getInformationProcedure()?->getInfoProcedureDepartApresTravaux()); + $signalementResponse->suiviParTravailleurSocial = $this->stringToBool($signalement->getSituationFoyer()?->getTravailleurSocialAccompagnement()); + $signalementResponse->revenuFiscalOccupant = $signalement->getInformationComplementaire()?->getInformationsComplementairesSituationOccupantsRevenuFiscal(); + // infos proprietaire + $signalementResponse->nomProprietaire = $signalement->getNomProprio(); + $signalementResponse->prenomProprietaire = $signalement->getPrenomProprio(); + $signalementResponse->adresseProprietaire = $signalement->getAdresseProprio(); + $signalementResponse->codePostalProprietaire = $signalement->getCodePostalProprio(); + $signalementResponse->villeProprietaire = $signalement->getVilleProprio(); + $signalementResponse->telephoneProprietaire = $signalement->getTelProprioDecoded(); + $signalementResponse->telephoneSecondaireProprietaire = $signalement->getTelProprioSecondaireDecoded(); + $signalementResponse->mailProprietaire = $signalement->getMailProprio(); + $signalementResponse->proprietaireDateNaissance = $signalement->getInformationComplementaire()?->getInformationsComplementairesSituationBailleurDateNaissance(); + $signalementResponse->proprietaireRevenuFiscal = $signalement->getInformationComplementaire()?->getInformationsComplementairesSituationBailleurRevenuFiscal() ?: null; + $signalementResponse->proprietaireBeneficiaireRsa = $this->stringToBool($signalement->getInformationComplementaire()?->getInformationsComplementairesSituationBailleurBeneficiaireRsa()); + $signalementResponse->proprietaireBeneficiaireFsl = $this->stringToBool($signalement->getInformationComplementaire()?->getInformationsComplementairesSituationBailleurBeneficiaireFsl()); + // infos location + $signalementResponse->proprietaireAverti = $signalement->getIsProprioAverti(); + $signalementResponse->loyer = $signalement->getLoyer(); + $signalementResponse->bailEnCours = $signalement->getIsBailEnCours(); + $signalementResponse->bailExistant = $this->stringToBool($signalement->getTypeCompositionLogement()?->getBailDpeBail()); + $signalementResponse->etatDesLieuxExistant = $this->stringToBool($signalement->getTypeCompositionLogement()?->getBailDpeEtatDesLieux()); + $signalementResponse->preavisDepartTransmis = $signalement->getisPreavisDepart(); + $signalementResponse->demandeRelogementEffectuee = $signalement->getIsRelogement(); + $signalementResponse->loyersPayes = $this->stringToBool($signalement->getInformationComplementaire()?->getinformationsComplementairesSituationOccupantsLoyersPayes()); + $signalementResponse->dateEffetBail = $signalement->getInformationComplementaire()?->getInformationsComplementairesSituationBailleurDateEffetBail() ?? $signalementResponse->dateEntreeLogement; + // infos allocataire + $signalementResponse->allocataire = in_array($signalement->getIsAllocataire(), [null, '']) ? null : (bool) $signalement->getIsAllocataire(); // valeurs possibles : null, '', 0, 1, 'CAF', 'MSA' + $signalementResponse->typeAllocataire = in_array($signalement->getIsAllocataire(), ['MSA', 'CAF']) ? $signalement->getIsAllocataire() : null; + $signalementResponse->numAllocataire = $signalement->getNumAllocataire(); + $signalementResponse->montantAllocation = $signalement->getSituationFoyer()?->getLogementSocialMontantAllocation() ?? $signalement->getMontantAllocation(); + $signalementResponse->beneficiaireRSA = $this->stringToBool($signalement->getInformationComplementaire()?->getInformationsComplementairesSituationOccupantsBeneficiaireRsa()) ?? $signalement->getIsRsa(); + $signalementResponse->beneficiaireFSL = $this->stringToBool($signalement->getInformationComplementaire()?->getInformationsComplementairesSituationOccupantsBeneficiaireFsl()) ?? $signalement->getIsFondSolidariteLogement(); + // désordres + $desordresInfos = $this->signalementDesordresProcessor->process($signalement); + if (!$signalement->getCreatedFrom()) { + foreach ($desordresInfos['criticitesArranged'] as $label => $data) { + $signalementResponse->desordres[] = new Desordre($label, $data); + } + } else { + foreach (DesordreCritereZone::getLabelList() as $zone => $unused) { + if (isset($desordresInfos['criticitesArranged'][$zone])) { + foreach ($desordresInfos['criticitesArranged'][$zone] as $label => $data) { + $signalementResponse->desordres[] = new Desordre($label, $data, $zone); + } + } + } + } + $signalementResponse->score = $signalement->getScore(); + $signalementResponse->scoreBatiment = $signalement->getScoreBatiment(); + $signalementResponse->scoreLogement = $signalement->getScoreLogement(); + // tags, qualifications, suivis, affectations, visites, files + foreach ($signalement->getTags() as $tag) { + $signalementResponse->tags[] = $tag->getLabel(); + } + foreach ($signalement->getSignalementQualifications() as $qualification) { + if (!$qualification->isPostVisite()) { + $signalementResponse->qualifications[] = $qualification->getStatus()?->value; + } + } + foreach ($signalement->getSuivis() as $suivi) { + $signalementResponse->suivis[] = new Suivi($suivi); + } + foreach ($signalement->getInterventions() as $intervention) { + $signalementResponse->interventions[] = new Intervention($intervention); + } + foreach ($signalement->getFiles() as $file) { + $signalementResponse->files[] = $this->fileFactory->createFromSignalement($file); + } + // divers + $signalementResponse->territoireNom = $signalement->getTerritory()?->getName(); + $signalementResponse->territoireCode = $signalement->getTerritory()?->getZip(); + $signalementResponse->signalementImporte = $signalement->getIsImported(); + + return $signalementResponse; + } + + private function stringToBool(?string $value): ?bool + { + if (in_array($value, ['oui', 'piece_unique'])) { + return true; + } + if (in_array($value, ['non', 'plusieurs_pieces'])) { + return false; + } + + return null; + } +} diff --git a/src/Repository/SignalementRepository.php b/src/Repository/SignalementRepository.php index 13303f816..6bcabd963 100755 --- a/src/Repository/SignalementRepository.php +++ b/src/Repository/SignalementRepository.php @@ -1388,6 +1388,41 @@ public function findSignalementsBetweenDates(\DateTimeImmutable $startDate, \Dat ->getResult(); } + public function findForAPI(User $user, int $limit = 1, int $page = 1, ?string $uuid = null, ?string $reference = null): array + { + $partners = $user->getPartners(); + $offset = ($page - 1) * $limit; + $qb = $this->createQueryBuilder('s') + ->select('s', 'desordrePrecisions', 'desordreCategories', 'desordreCriteres', 'signalementQualifications', + 'files', 'tags', 'suivi', 'interventions', 'territory') + ->leftJoin('s.desordrePrecisions', 'desordrePrecisions') + ->leftJoin('s.desordreCategories', 'desordreCategories') + ->leftJoin('s.desordreCriteres', 'desordreCriteres') + ->leftJoin('s.signalementQualifications', 'signalementQualifications') + ->leftJoin('s.files', 'files') + ->leftJoin('s.tags', 'tags') + ->leftJoin('s.suivis', 'suivi') + ->leftJoin('s.affectations', 'affectations') + ->leftJoin('s.interventions', 'interventions') + ->leftJoin('s.territory', 'territory') + ->where('affectations.partner IN (:partners)') + ->setParameter('partners', $partners) + ->orderBy('s.createdAt', 'DESC') + ->setFirstResult($offset) + ->setMaxResults($limit); + if ($uuid) { + $qb->andWhere('s.uuid = :uuid') + ->setParameter('uuid', $uuid); + } + if ($reference) { + $qb->andWhere('s.reference = :reference') + ->setParameter('reference', $reference); + } + + return $qb->getQuery() + ->getResult(); + } + public function findSignalementsLastSuiviWithSuiviAuto(Territory $territory, int $limit): array { $connexion = $this->getEntityManager()->getConnection(); diff --git a/tests/Functional/Controller/Back/BackUserControllerTest.php b/tests/Functional/Controller/Back/BackUserControllerTest.php index 73e32cb8d..231d96614 100644 --- a/tests/Functional/Controller/Back/BackUserControllerTest.php +++ b/tests/Functional/Controller/Back/BackUserControllerTest.php @@ -36,12 +36,12 @@ public function provideParamsUserList(): iterable { yield 'Search without params' => [[], 57]; yield 'Search with queryUser admin' => [['queryUser' => 'admin'], 21]; - yield 'Search with territory 13' => [['territory' => 13], 10]; + yield 'Search with territory 13' => [['territory' => 13], 11]; yield 'Search with territory 13 and partner 6 and 7' => [['territory' => 13, 'partners' => [6, 7]], 2]; yield 'Search with status 0' => [['statut' => 0], 8]; yield 'Search with role ROLE_ADMIN' => [['role' => 'ROLE_ADMIN'], 3]; yield 'Search with role ROLE_ADMIN and territory 13' => [['role' => 'ROLE_ADMIN', 'territory' => 13], 0]; - yield 'Search with territory 13 and partnerType Autre' => [['territory' => 13, 'partnerType' => 'AUTRE'], 8]; + yield 'Search with territory 13 and partnerType Autre' => [['territory' => 13, 'partnerType' => 'AUTRE'], 9]; yield 'Search with territory 13 and partnerType Ars' => [['territory' => 13, 'partnerType' => 'ARS'], 1]; } @@ -67,13 +67,13 @@ public function testUserExport(array $params, int $nb): void public function provideParamsUserExport(): iterable { - yield 'Search without params' => [[], 10]; + yield 'Search without params' => [[], 11]; yield 'Search with queryUser user' => [['queryUser' => 'user'], 6]; - yield 'Search with partner 6 and 7' => [['partners' => [2]], 4]; - yield 'Search with status 1' => [['statut' => 1], 8]; + yield 'Search with partner 6 and 7' => [['partners' => [2]], 5]; + yield 'Search with status 1' => [['statut' => 1], 9]; yield 'Search with role ROLE_USER_PARTNER' => [['role' => 'ROLE_USER_PARTNER'], 6]; yield 'Search with role ROLE_USER_PARTNER and status 1' => [['role' => 'ROLE_USER_PARTNER', 'statut' => 1], 4]; - yield 'Search with territory 13 and partnerType Autre' => [['territory' => 13, 'partnerType' => 'AUTRE'], 10]; + yield 'Search with territory 13 and partnerType Autre' => [['territory' => 13, 'partnerType' => 'AUTRE'], 11]; yield 'Search with partnerType Ars' => [['partnerType' => 'ARS'], 1]; } } diff --git a/tests/Functional/Service/Signalement/VisiteNotifierTest.php b/tests/Functional/Service/Signalement/VisiteNotifierTest.php index 0d5e919ec..785ff9d71 100644 --- a/tests/Functional/Service/Signalement/VisiteNotifierTest.php +++ b/tests/Functional/Service/Signalement/VisiteNotifierTest.php @@ -44,7 +44,7 @@ public function testNotifyVisiteToConclude() $intervention = $signalement->getInterventions()[0]; $nbNotified = $this->visiteNotifier->notifyVisiteToConclude($intervention); - $this->assertEquals($nbNotified, 4); + $this->assertEquals($nbNotified, 5); } public function testNotifyVisiteToConclude69()