Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • pub/pnm-public/camino
1 result
Show changes
Commits on Source (6)
Showing
with 204 additions and 136 deletions
import { demarcheDepotDemandeDateFind } from 'camino-common/src/demarche'
import { demarcheEnregistrementDemandeDateFind } from 'camino-common/src/demarche'
import { ITitreEtape } from '../../types'
import { DocumentType } from 'camino-common/src/static/documentsTypes'
......@@ -33,7 +33,7 @@ export const etapeTypeDateFinCheck = (etapeTypeId: EtapeTypeId, titreEtapes?: Pi
const etapeTypeDateFin = EtapesTypes[etapeTypeId].date_fin
if (!etapeTypeDateFin || !titreEtapes) return true
const dateDemande = demarcheDepotDemandeDateFind(titreEtapes)
const dateDemande = demarcheEnregistrementDemandeDateFind(titreEtapes)
// si
// - la date de demande est absente,
......
......@@ -17,21 +17,3 @@ exports[`envoie un email sur un octroi d'AEX 1`] = `
"subject": "demande | Nouvelle demande déposée",
}
`;
exports[`envoie un email sur un octroi d'ARM 1`] = `
{
"content": "
<h3>L’étape « dépôt de la demande » d’une demande d’ARM vient d’être réalisée.</h3>
<hr>
<b>Lien</b> : <a href="http://plop.plop/titres/titreId">http://plop.plop/titres/titreId</a> <br>
<b>Effectué par</b> : Camino (camino@beta.gouv.fr)<br>
",
"emails": [
"dgtm-datte-prie-uie@guyane.gouv.fr",
],
"subject": "dépôt de la demande | Nouvelle demande déposée",
}
`;
......@@ -42,7 +42,7 @@ test("envoie un email sur un octroi d'AEX", () => {
test("envoie un email sur un octroi d'ARM", () => {
const actual = emailsForAdministrationsGet(
{
typeId: 'mdp',
typeId: 'men',
statutId: 'fai',
isBrouillon: ETAPE_IS_NOT_BROUILLON,
},
......@@ -53,5 +53,21 @@ test("envoie un email sur un octroi d'ARM", () => {
undefined
)
expect(actual).toMatchSnapshot()
expect(actual).toMatchInlineSnapshot(`
{
"content": "
<h3>L’étape « enregistrement de la demande » d’une demande d’ARM vient d’être réalisée.</h3>
<hr>
<b>Lien</b> : <a href="http://plop.plop/titres/titreId">http://plop.plop/titres/titreId</a> <br>
<b>Effectué par</b> : Camino (camino@beta.gouv.fr)<br>
",
"emails": [
"dgtm-datte-prie-uie@guyane.gouv.fr",
],
"subject": "enregistrement de la demande | Nouvelle demande déposée",
}
`)
})
......@@ -210,35 +210,13 @@ describe('etapeCreer', () => {
typeId: 'men',
statutId: 'fai',
titreDemarcheId,
date: toCaminoDate('2020-01-01'),
date: toCaminoDate('2018-01-01'),
...blankEtapeProps,
}
)
expect(res.statusCode).toBe(HTTP_STATUS.OK)
expect(res.statusCode, JSON.stringify(res.body)).toBe(HTTP_STATUS.OK)
})
test("ne peut pas créer une étape MEN si c'est la première étape (utilisateur admin)", async () => {
const titreDemarcheId = await demarcheCreate()
const res = await restPostCall(
dbPool,
'/rest/etapes',
{},
{
role: 'admin',
administrationId: ADMINISTRATION_IDS['DGTM - GUYANE'],
},
{
typeId: 'men',
statutId: 'fai',
titreDemarcheId,
date: toCaminoDate('2017-01-01'),
...blankEtapeProps,
}
)
expect(res.statusCode).toBe(HTTP_STATUS.BAD_REQUEST)
})
test('ne peut pas créer une étape EDE sur un titre ARM en tant que DGTM (utilisateur admin)', async () => {
const titreDemarcheId = await demarcheCreate()
......
......@@ -344,7 +344,7 @@ describe('etapeModifier', () => {
typeId: 'men',
statutId: 'fai',
titreDemarcheId,
date: toCaminoDate('2020-01-01'),
date: toCaminoDate('2018-01-01'),
etapeDocuments: [],
duree: null,
dateDebut: null,
......
......@@ -95,7 +95,7 @@ export const getDGTMStatsInside =
.leftJoin('titres', 'titresDemarches.titreId', 'titres.id')
.joinRaw("left join titres_etapes titre_etape_point on titre_etape_point.id = titres.props_titre_etapes_ids ->> 'points'")
.where('titresEtapes.archive', false)
.where('titresEtapes.typeId', 'mdp')
.where('titresEtapes.typeId', ETAPES_TYPES.enregistrementDeLaDemande)
.andWhere('titresDemarches.typeId', 'oct')
.andWhere('titresEtapes.date', '>=', `${anneeDepartStats}-01-01`)
.andWhere(builder => {
......@@ -163,7 +163,9 @@ export const getDGTMStatsInside =
})
.leftJoin('titres', 'titresDemarches.titreId', 'titres.id')
.joinRaw("left join titres_etapes on titres_etapes.id = titres.props_titre_etapes_ids ->> 'points'")
.joinRaw(`left join titres_etapes depot_de_la_demande on (depot_de_la_demande.titre_demarche_id = "titres_demarches"."id" and depot_de_la_demande.type_id = '${ETAPES_TYPES.depotDeLaDemande}')`)
.joinRaw(
`left join titres_etapes depot_de_la_demande on (depot_de_la_demande.titre_demarche_id = "titres_demarches"."id" and depot_de_la_demande.type_id = '${ETAPES_TYPES.enregistrementDeLaDemande}')`
)
.joinRaw(`left join titres_etapes APO on (APO.titre_demarche_id = "titres_demarches"."id" and APO.type_id = '${ETAPES_TYPES.avisDeLaCommissionDepartementaleDesMines_CDM_}')`)
.joinRaw(
`left join titres_etapes decision_administration on (decision_administration.titre_demarche_id = "titres_demarches"."id" and decision_administration.type_id = '${ETAPES_TYPES.decisionDeLAutoriteAdministrative}')`
......
......@@ -28,7 +28,7 @@ export const evolutionTitres = async (pool: Pool, titreTypeTypeId: TitreTypeType
anneeDepart,
demarcheTypeIds: demarcheOctroiTypeIds,
departements,
etapeTypeId: ETAPES_TYPES.depotDeLaDemande,
etapeTypeId: ETAPES_TYPES.enregistrementDeLaDemande,
titreTypeId,
}),
......
......@@ -34,7 +34,7 @@ import { ETAPE_TYPE_FOR_CONCURRENCY_DATA, isEtapeTypeIdFondamentale } from 'cami
import { getCommunes } from '../../database/queries/communes.queries'
import { EtapeAvis, EtapeDocument } from 'camino-common/src/etape'
import { getDateLastJournal } from './journal.queries'
import { canHaveActivites, canReadTitre } from 'camino-common/src/permissions/titres'
import { canHaveActivites, canReadTitre, canSeeTitreLastModifiedDate } from 'camino-common/src/permissions/titres'
import { canReadTitreActivites } from 'camino-common/src/permissions/activites'
import { TitreIdOrSlug, titreIdValidator, titreSlugValidator, TitreId } from 'camino-common/src/validators/titres'
import { EntrepriseId, entrepriseIdValidator } from 'camino-common/src/entreprise'
......@@ -53,7 +53,7 @@ export const getTitre = async (pool: Pool, user: User, idOrSlug: TitreIdOrSlug):
} else {
const titre = titres[0]
const titreDateLastModified = await getDateLastJournal(pool, titre.id)
const titreDateLastModified = canSeeTitreLastModifiedDate(user) ? await getDateLastJournal(pool, titre.id) : null
const titreDoublon = titre.titre_doublon_id !== null && titre.titre_doublon_nom !== null ? { id: titre.titre_doublon_id, nom: titre.titre_doublon_nom } : null
const demarchesFromDatabase = await getDemarchesByTitreId(pool, titre.id)
......
......@@ -56,7 +56,7 @@ beforeAll(async () => {
communes: [{ id: toCommuneId('97300'), surface: 12 }],
},
{
typeId: 'mdp',
typeId: 'men',
statutId: 'fai',
isBrouillon: ETAPE_IS_NOT_BROUILLON,
date: toCaminoDate('2022-02-01'),
......@@ -91,7 +91,7 @@ beforeAll(async () => {
administrationsLocales: [ADMINISTRATION_IDS['DGTM - GUYANE']],
},
{
typeId: 'mdp',
typeId: 'men',
statutId: 'fai',
isBrouillon: ETAPE_IS_NOT_BROUILLON,
date: toCaminoDate('2022-02-01'),
......
import { CaminoAnnee } from 'camino-common/src/date'
import { SubstanceFiscaleId } from 'camino-common/src/static/substancesFiscales'
import { SubstanceFiscaleId, SUBSTANCES_FISCALES_IDS } from 'camino-common/src/static/substancesFiscales'
import { isNullOrUndefined } from 'camino-common/src/typescript-tools'
import Decimal from 'decimal.js'
import { z } from 'zod'
const anneeData = ['2017', '2018', '2019', '2020', '2021', '2022', '2023'] as const
const anneeData = ['2017', '2018', '2019', '2020', '2021', '2022', '2023', '2024'] as const
const anneeDataValidator = z.enum(anneeData)
type AnneeData = z.infer<typeof anneeDataValidator>
const redevanceCommunale = {
......@@ -260,6 +260,42 @@ const redevanceCommunale = {
zinc: new Decimal(601.8),
reference: 'https://www.legifrance.gouv.fr/codes/id/LEGIARTI000045765025/2023-06-03/',
},
'2024': {
[SUBSTANCES_FISCALES_IDS.or]: new Decimal(190.8),
[SUBSTANCES_FISCALES_IDS.uranium]: new Decimal(371.5),
[SUBSTANCES_FISCALES_IDS['oxyde de tungstène (WO3)']]: new Decimal(170.7),
[SUBSTANCES_FISCALES_IDS.argent]: new Decimal(310.1),
[SUBSTANCES_FISCALES_IDS.bauxite]: new Decimal(730.4),
[SUBSTANCES_FISCALES_IDS.fluorine]: new Decimal(949.4),
[SUBSTANCES_FISCALES_IDS.sel_ChlorureDeSodium_extraitParAbattage]: new Decimal(902.9),
[SUBSTANCES_FISCALES_IDS.sel_ChlorureDeSodium_extraitEnDissolutionParSondage]: new Decimal(549.5),
[SUBSTANCES_FISCALES_IDS.sel_ChlorureDeSodiumContenu_]: new Decimal(183.6),
[SUBSTANCES_FISCALES_IDS.charbon]: new Decimal(291.6),
[SUBSTANCES_FISCALES_IDS['pétrole brut']]: new Decimal(1_401.6),
[SUBSTANCES_FISCALES_IDS['propane et le butane']]: new Decimal(10.6),
[SUBSTANCES_FISCALES_IDS['essence de dégazolinage']]: new Decimal(9.9),
[SUBSTANCES_FISCALES_IDS.soufre]: new Decimal(3.5),
[SUBSTANCES_FISCALES_IDS['lignites pouvoir calorifique égal ou supérieur à 13 MJ/kg']]: new Decimal(1_116.5),
[SUBSTANCES_FISCALES_IDS['lignites pouvoir calorifique inférieur à 13 MJ/kg']]: new Decimal(271.2),
[SUBSTANCES_FISCALES_IDS['gaz carbonique']]: new Decimal(408.8),
[SUBSTANCES_FISCALES_IDS['calcaires et grès bitumineux ou asphaltiques']]: new Decimal(1_876.5),
[SUBSTANCES_FISCALES_IDS['schistes carbobitumineux et schistes bitumineux']]: new Decimal(62.5),
[SUBSTANCES_FISCALES_IDS['pyrite de fer']]: new Decimal(625.9),
[SUBSTANCES_FISCALES_IDS['minerais de fer']]: new Decimal(431.2),
[SUBSTANCES_FISCALES_IDS.antimoine]: new Decimal(15),
[SUBSTANCES_FISCALES_IDS.plomb]: new Decimal(787.8),
[SUBSTANCES_FISCALES_IDS.zinc]: new Decimal(625.9),
[SUBSTANCES_FISCALES_IDS.étain]: new Decimal(152),
[SUBSTANCES_FISCALES_IDS.cuivre]: new Decimal(24.4),
[SUBSTANCES_FISCALES_IDS.arsenic]: new Decimal(839.7),
[SUBSTANCES_FISCALES_IDS.bismuth]: new Decimal(73.5),
[SUBSTANCES_FISCALES_IDS.manganèse]: new Decimal(466.2),
[SUBSTANCES_FISCALES_IDS.molybdène]: new Decimal(310.1),
[SUBSTANCES_FISCALES_IDS['oxyde de lithium']]: new Decimal(62.5),
[SUBSTANCES_FISCALES_IDS['oxyde de potassium']]: new Decimal(329),
[SUBSTANCES_FISCALES_IDS['gaz naturel']]: new Decimal(403.2),
reference: 'https://www.legifrance.gouv.fr/codes/id/LEGIARTI000045765025/2024-06-03/',
},
} as const satisfies Record<AnneeData, Record<SubstanceFiscaleId, Decimal> & { reference: string }>
const redevanceDepartementale = {
......@@ -515,6 +551,42 @@ const redevanceDepartementale = {
zinc: new Decimal(122.9),
reference: 'https://www.legifrance.gouv.fr/codes/id/LEGIARTI000045764991/2023-06-03/',
},
'2024': {
[SUBSTANCES_FISCALES_IDS.or]: new Decimal(38.1),
[SUBSTANCES_FISCALES_IDS.uranium]: new Decimal(73.7),
[SUBSTANCES_FISCALES_IDS['oxyde de tungstène (WO3)']]: new Decimal(33.4),
[SUBSTANCES_FISCALES_IDS.argent]: new Decimal(61.8),
[SUBSTANCES_FISCALES_IDS.bauxite]: new Decimal(145.9),
[SUBSTANCES_FISCALES_IDS.fluorine]: new Decimal(192.9),
[SUBSTANCES_FISCALES_IDS.sel_ChlorureDeSodium_extraitParAbattage]: new Decimal(183.6),
[SUBSTANCES_FISCALES_IDS.sel_ChlorureDeSodium_extraitEnDissolutionParSondage]: new Decimal(108.4),
[SUBSTANCES_FISCALES_IDS.sel_ChlorureDeSodiumContenu_]: new Decimal(35.6),
[SUBSTANCES_FISCALES_IDS.charbon]: new Decimal(141.7),
[SUBSTANCES_FISCALES_IDS['pétrole brut']]: new Decimal(1_800.8),
[SUBSTANCES_FISCALES_IDS['propane et le butane']]: new Decimal(8.4),
[SUBSTANCES_FISCALES_IDS['essence de dégazolinage']]: new Decimal(7.5),
[SUBSTANCES_FISCALES_IDS.soufre]: new Decimal(2),
[SUBSTANCES_FISCALES_IDS['lignites pouvoir calorifique égal ou supérieur à 13 MJ/kg']]: new Decimal(221),
[SUBSTANCES_FISCALES_IDS['lignites pouvoir calorifique inférieur à 13 MJ/kg']]: new Decimal(60.1),
[SUBSTANCES_FISCALES_IDS['gaz carbonique']]: new Decimal(83.5),
[SUBSTANCES_FISCALES_IDS['calcaires et grès bitumineux ou asphaltiques']]: new Decimal(373.5),
[SUBSTANCES_FISCALES_IDS['schistes carbobitumineux et schistes bitumineux']]: new Decimal(12.9),
[SUBSTANCES_FISCALES_IDS['pyrite de fer']]: new Decimal(127.8),
[SUBSTANCES_FISCALES_IDS['minerais de fer']]: new Decimal(89.6),
[SUBSTANCES_FISCALES_IDS.antimoine]: new Decimal(3.4),
[SUBSTANCES_FISCALES_IDS.plomb]: new Decimal(152),
[SUBSTANCES_FISCALES_IDS.zinc]: new Decimal(127.8),
[SUBSTANCES_FISCALES_IDS.étain]: new Decimal(30.1),
[SUBSTANCES_FISCALES_IDS.cuivre]: new Decimal(4.9),
[SUBSTANCES_FISCALES_IDS.arsenic]: new Decimal(170.7),
[SUBSTANCES_FISCALES_IDS.bismuth]: new Decimal(14.9),
[SUBSTANCES_FISCALES_IDS.manganèse]: new Decimal(94.3),
[SUBSTANCES_FISCALES_IDS.molybdène]: new Decimal(62.5),
[SUBSTANCES_FISCALES_IDS['oxyde de lithium']]: new Decimal(12.8),
[SUBSTANCES_FISCALES_IDS['oxyde de potassium']]: new Decimal(65.5),
[SUBSTANCES_FISCALES_IDS['gaz naturel']]: new Decimal(588.7),
reference: 'https://www.legifrance.gouv.fr/codes/id/LEGIARTI000045764991/2024-06-03/',
},
} as const satisfies Record<AnneeData, Record<SubstanceFiscaleId, Decimal> & { reference: string }>
export type EntrepriseCategory = 'pme' | 'autre'
......@@ -548,6 +620,10 @@ const categoriesForTaxeAurifereGuyane = {
value: new Decimal(549.88),
reference: 'https://www.legifrance.gouv.fr/codes/id/LEGIARTI000048046958/2023-09-07',
},
'2024': {
value: new Decimal(549.88),
reference: 'https://www.legifrance.gouv.fr/codes/id/LEGIARTI000048046958/2024-09-07',
},
},
autre: {
'2017': {
......@@ -578,6 +654,10 @@ const categoriesForTaxeAurifereGuyane = {
value: new Decimal(1099.77),
reference: 'https://www.legifrance.gouv.fr/codes/id/LEGIARTI000048046958/2023-09-07',
},
'2024': {
value: new Decimal(1099.77),
reference: 'https://www.legifrance.gouv.fr/codes/id/LEGIARTI000048046958/2024-09-07',
},
},
} as const satisfies Record<EntrepriseCategory, Record<AnneeData, { value: Decimal; reference: string }>>
......
source diff could not be displayed: it is too large. Options to address this: view the blob.
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`vérifie l’arbre d’octroi d’ARM > ne peut pas créer 2 "mfr" 1`] = `[Error: Error: cannot execute step: '{"etapeTypeId":"mfr","etapeStatutId":"fai","date":"2020-01-03"}' after '["mfr_fai","mdp_fai"]'. The event {"type":"FAIRE_DEMANDE","mecanise":false,"franchissements":null,"date":"2020-01-03","status":"fai"} should be one of 'CLASSER_SANS_SUITE,DESISTER_PAR_LE_DEMANDEUR,MODIFIER_DEMANDE,PAYER_FRAIS_DE_DOSSIER']`;
exports[`vérifie l’arbre d’octroi d’ARM > ne peut pas créer 2 "mfr" 1`] = `[Error: Error: cannot execute step: '{"etapeTypeId":"mfr","etapeStatutId":"fai","date":"2020-01-03"}' after '["mfr_fai","men_fai"]'. The event {"type":"FAIRE_DEMANDE","mecanise":false,"franchissements":null,"date":"2020-01-03","status":"fai"} should be one of 'CLASSER_SANS_SUITE,DESISTER_PAR_LE_DEMANDEUR,MODIFIER_DEMANDE,PAYER_FRAIS_DE_DOSSIER']`;
exports[`vérifie l’arbre d’octroi d’ARM > ne peut pas créer deux "des" 1`] = `[Error: Error: cannot execute step: '{"etapeTypeId":"des","etapeStatutId":"fai","date":"2020-01-04"}' after '["mfr_fai","mdp_fai","des_fai"]'. The event {"type":"DESISTER_PAR_LE_DEMANDEUR","date":"2020-01-04","status":"fai"} should be one of 'VALIDER_FRAIS_DE_DOSSIER']`;
exports[`vérifie l’arbre d’octroi d’ARM > ne peut pas créer deux "des" 1`] = `[Error: Error: cannot execute step: '{"etapeTypeId":"des","etapeStatutId":"fai","date":"2020-01-04"}' after '["mfr_fai","men_fai","des_fai"]'. The event {"type":"DESISTER_PAR_LE_DEMANDEUR","date":"2020-01-04","status":"fai"} should be one of 'VALIDER_FRAIS_DE_DOSSIER']`;
exports[`vérifie l’arbre d’octroi d’ARM > ne peut pas créer une "css" après une "des" 1`] = `[Error: Error: cannot execute step: '{"etapeTypeId":"css","etapeStatutId":"fai","date":"2020-01-05"}' after '["mfr_fai","mdp_fai","des_fai"]'. The event {"type":"CLASSER_SANS_SUITE","date":"2020-01-05","status":"fai"} should be one of 'VALIDER_FRAIS_DE_DOSSIER']`;
exports[`vérifie l’arbre d’octroi d’ARM > ne peut pas créer une "css" après une "des" 1`] = `[Error: Error: cannot execute step: '{"etapeTypeId":"css","etapeStatutId":"fai","date":"2020-01-05"}' after '["mfr_fai","men_fai","des_fai"]'. The event {"type":"CLASSER_SANS_SUITE","date":"2020-01-05","status":"fai"} should be one of 'VALIDER_FRAIS_DE_DOSSIER']`;
exports[`vérifie l’arbre d’octroi d’ARM > ne peut pas créer une "mno" après la "aca" si le titre n’est pas mécanisé 1`] = `[Error: Error: cannot execute step: '{"etapeTypeId":"mnb","etapeStatutId":"fai","date":"2020-01-04"}' after '["mfr_fai","mdp_fai","pfd_fai","mcp_com","vfd_fai","mcr_fav","asc_fai","sca_fai","aca_fav"]'. The event {"type":"NOTIFIER_DEMANDEUR_AVIS_FAVORABLE_CARM","date":"2020-01-04","status":"fai"} should be one of 'CLASSER_SANS_SUITE,DESISTER_PAR_LE_DEMANDEUR,SIGNER_AUTORISATION_DE_RECHERCHE_MINIERE']`;
exports[`vérifie l’arbre d’octroi d’ARM > ne peut pas créer une "mno" après la "aca" si le titre n’est pas mécanisé 1`] = `[Error: Error: cannot execute step: '{"etapeTypeId":"mnb","etapeStatutId":"fai","date":"2020-01-04"}' after '["mfr_fai","men_fai","pfd_fai","mcp_com","vfd_fai","mcr_fav","asc_fai","sca_fai","aca_fav"]'. The event {"type":"NOTIFIER_DEMANDEUR_AVIS_FAVORABLE_CARM","date":"2020-01-04","status":"fai"} should be one of 'CLASSER_SANS_SUITE,DESISTER_PAR_LE_DEMANDEUR,SIGNER_AUTORISATION_DE_RECHERCHE_MINIERE']`;
exports[`vérifie l’arbre d’octroi d’ARM > ne peut pas créer une étape "{ etapeTypeId: 'mcb', etapeStatutId: 'fai' }" si il n’existe pas d’autres étapes 1`] = `[Error: Error: cannot execute step: '{"etapeTypeId":"mcb","etapeStatutId":"fai","date":"2020-01-01"}' after '[]'. The event {"type":"DEMANDER_COMPLEMENTS_RDE","date":"2020-01-01","status":"fai"} should be one of 'ACCEPTER_RDE,DEMANDER_MODIFICATION_DE_LA_DEMANDE,EXEMPTER_DAE,FAIRE_DEMANDE,PAYER_FRAIS_DE_DOSSIER,REFUSER_RDE']`;
exports[`vérifie l’arbre d’octroi d’ARM > ne peut pas créer une étape "{ etapeTypeId: 'mcd', etapeStatutId: 'fai' }" si il n’existe pas d’autres étapes 1`] = `[Error: Error: cannot execute step: '{"etapeTypeId":"mcd","etapeStatutId":"fai","date":"2020-01-01"}' after '[]'. The event {"type":"DEMANDER_COMPLEMENTS_DAE","date":"2020-01-01","status":"fai"} should be one of 'ACCEPTER_RDE,DEMANDER_MODIFICATION_DE_LA_DEMANDE,EXEMPTER_DAE,FAIRE_DEMANDE,PAYER_FRAIS_DE_DOSSIER,REFUSER_RDE']`;
exports[`vérifie l’arbre d’octroi d’ARM > ne peut pas créer une étape "mcp" sans "mdp" 1`] = `[Error: Error: cannot execute step: '{"etapeTypeId":"mcp","etapeStatutId":"com","date":"2022-04-16"}' after '["mfr_fai"]'. The event {"type":"ACCEPTER_COMPLETUDE","date":"2022-04-16","status":"com"} should be one of 'DEPOSER_DEMANDE,PAYER_FRAIS_DE_DOSSIER']`;
exports[`vérifie l’arbre d’octroi d’ARM > ne peut pas créer une étape "mcp" sans "men" 1`] = `[Error: Error: cannot execute step: '{"etapeTypeId":"mcp","etapeStatutId":"com","date":"2022-04-16"}' after '["mfr_fai"]'. The event {"type":"ACCEPTER_COMPLETUDE","date":"2022-04-16","status":"com"} should be one of 'ENREGISTRER_DEMANDE,PAYER_FRAIS_DE_DOSSIER']`;
exports[`vérifie l’arbre d’octroi d’ARM > ne peut pas déplacer une étape "mdp" sans "mfr" 1`] = `[Error: Error: cannot execute step: '{"etapeTypeId":"mdp","etapeStatutId":"fai","date":"2020-02-02"}' after '[]'. The event {"type":"DEPOSER_DEMANDE","date":"2020-02-02","status":"fai"} should be one of 'ACCEPTER_RDE,DEMANDER_MODIFICATION_DE_LA_DEMANDE,EXEMPTER_DAE,FAIRE_DEMANDE,PAYER_FRAIS_DE_DOSSIER,REFUSER_RDE']`;
exports[`vérifie l’arbre d’octroi d’ARM > ne peut pas déplacer une étape "men" sans "mfr" 1`] = `[Error: Error: cannot execute step: '{"etapeTypeId":"men","etapeStatutId":"fai","date":"2020-02-02"}' after '[]'. The event {"type":"ENREGISTRER_DEMANDE","date":"2020-02-02","status":"fai"} should be one of 'ACCEPTER_RDE,DEMANDER_MODIFICATION_DE_LA_DEMANDE,EXEMPTER_DAE,FAIRE_DEMANDE,PAYER_FRAIS_DE_DOSSIER,REFUSER_RDE']`;
exports[`vérifie l’arbre d’octroi d’ARM > ne peut pas faire de mfr non mécanisée après une dae 1`] = `[Error: Error: cannot execute step: '{"etapeTypeId":"mfr","etapeStatutId":"fai","date":"2021-02-25","contenu":{"arm":{"mecanise":false}}}' after '["dae_exe"]'. The event {"type":"FAIRE_DEMANDE","mecanise":false,"franchissements":null,"date":"2021-02-25","status":"fai"} should be one of 'ACCEPTER_RDE,FAIRE_DEMANDE,PAYER_FRAIS_DE_DOSSIER,REFUSER_RDE']`;
......
......@@ -24,7 +24,7 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
test('quelles sont mes prochaines étapes sur un titre mécanisé', () => {
const { service } = setDateAndOrderAndInterpretMachine(armOctMachine, '2020-01-01', [
{ etapeTypeId: 'mfr', etapeStatutId: 'fai', contenu: { arm: { mecanise: true } } },
{ etapeTypeId: 'mdp', etapeStatutId: 'fai' },
{ etapeTypeId: 'men', etapeStatutId: 'fai' },
{ etapeTypeId: 'pfd', etapeStatutId: 'fai' },
])
......@@ -44,7 +44,7 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
test('quelles sont mes prochaines étapes sur un titre mécanisé avec franchissements', () => {
const { service, dateFin } = setDateAndOrderAndInterpretMachine(armOctMachine, '2020-02-03', [
{ etapeTypeId: 'mfr', etapeStatutId: 'fai', contenu: { arm: { mecanise: true, franchissements: 1 } } },
{ etapeTypeId: 'mdp', etapeStatutId: 'fai' },
{ etapeTypeId: 'men', etapeStatutId: 'fai' },
{ etapeTypeId: 'pfd', etapeStatutId: 'fai' },
])
......@@ -64,7 +64,7 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
test('quelles sont mes prochaines étapes non mécanisé', () => {
const { service, dateFin } = setDateAndOrderAndInterpretMachine(armOctMachine, '2020-02-03', [
{ etapeTypeId: 'mfr', etapeStatutId: 'fai', contenu: { arm: { mecanise: false } } },
{ etapeTypeId: 'mdp', etapeStatutId: 'fai' },
{ etapeTypeId: 'men', etapeStatutId: 'fai' },
{ etapeTypeId: 'pfd', etapeStatutId: 'fai' },
])
......@@ -74,7 +74,7 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
const etapes = [
ETES.paiementDesFraisDeDossier.FAIT,
ETES.demande.FAIT,
ETES.depotDeLaDemande.FAIT,
ETES.enregistrementDeLaDemande.FAIT,
ETES.completudeDeLaDemande.COMPLETE,
ETES.validationDuPaiementDesFraisDeDossier.FAIT,
ETES.recevabiliteDeLaDemande.FAVORABLE,
......@@ -88,20 +88,20 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
setDateAndOrderAndInterpretMachine(armOctMachine, '2023-09-26', [
ETES.paiementDesFraisDeDossier.FAIT,
ETES.demande.FAIT,
ETES.depotDeLaDemande.FAIT,
ETES.enregistrementDeLaDemande.FAIT,
ETES.completudeDeLaDemande.COMPLETE,
ETES.validationDuPaiementDesFraisDeDossier.FAIT,
ETES.recevabiliteDeLaDemande.FAVORABLE,
ETES.saisineDeLaCommissionDesAutorisationsDeRecherchesMinieres_CARM_.FAIT,
])
).toThrowErrorMatchingInlineSnapshot(
`[Error: Error: cannot execute step: '{"etapeTypeId":"sca","etapeStatutId":"fai","date":"2023-10-03"}' after '["pfd_fai","mfr_fai","mdp_fai","mcp_com","vfd_fai","mcr_fav"]'. The event {"type":"FAIRE_SAISINE_CARM","date":"2023-10-03","status":"fai"} should be one of 'CLASSER_SANS_SUITE,DESISTER_PAR_LE_DEMANDEUR,MODIFIER_DEMANDE,RECEVOIR_EXPERTISE_SERVICE_EAU,RECEVOIR_EXPERTISE_SERVICE_MINES,RENDRE_AVIS_DES_SERVICES_ET_COMMISSIONS_CONSULTATIVES']`
`[Error: Error: cannot execute step: '{"etapeTypeId":"sca","etapeStatutId":"fai","date":"2023-10-03"}' after '["pfd_fai","mfr_fai","men_fai","mcp_com","vfd_fai","mcr_fav"]'. The event {"type":"FAIRE_SAISINE_CARM","date":"2023-10-03","status":"fai"} should be one of 'CLASSER_SANS_SUITE,DESISTER_PAR_LE_DEMANDEUR,MODIFIER_DEMANDE,RECEVOIR_EXPERTISE_SERVICE_EAU,RECEVOIR_EXPERTISE_SERVICE_MINES,RENDRE_AVIS_DES_SERVICES_ET_COMMISSIONS_CONSULTATIVES']`
)
})
test('la demande ne peut pas être effectuée après une modification de la demande', () => {
const { service, dateFin } = setDateAndOrderAndInterpretMachine(armOctMachine, '2020-01-01', [
{ etapeTypeId: 'mfr', etapeStatutId: 'fai', contenu: { arm: { mecanise: false } } },
{ etapeTypeId: 'mdp', etapeStatutId: 'fai' },
{ etapeTypeId: 'men', etapeStatutId: 'fai' },
{ etapeTypeId: 'mod', etapeStatutId: 'fai' },
])
......@@ -111,7 +111,7 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
test('on peut faire une demande de compléments après une complétude incomplète', () => {
const { service, dateFin } = setDateAndOrderAndInterpretMachine(armOctMachine, '2020-01-01', [
{ etapeTypeId: 'mfr', etapeStatutId: 'fai', contenu: { arm: { mecanise: false } } },
{ etapeTypeId: 'mdp', etapeStatutId: 'fai' },
{ etapeTypeId: 'men', etapeStatutId: 'fai' },
{ etapeTypeId: 'pfd', etapeStatutId: 'fai' },
{ etapeTypeId: 'mcp', etapeStatutId: 'inc' },
])
......@@ -126,14 +126,14 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
}
)
test('peut créer une étape "mdp" juste après une "mfr"', () => {
test('peut créer une étape "men" juste après une "mfr"', () => {
setDateAndOrderAndInterpretMachine(armOctMachine, '2022-04-16', [
{ etapeTypeId: 'mfr', etapeStatutId: 'fai' },
{ etapeTypeId: 'mdp', etapeStatutId: 'fai' },
{ etapeTypeId: 'men', etapeStatutId: 'fai' },
])
})
test('ne peut pas créer une étape "mcp" sans "mdp"', () => {
test('ne peut pas créer une étape "mcp" sans "men"', () => {
expect(() =>
setDateAndOrderAndInterpretMachine(armOctMachine, '2022-04-14', [
{ etapeTypeId: 'mfr', etapeStatutId: 'fai' },
......@@ -146,16 +146,16 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
expect(() =>
setDateAndOrderAndInterpretMachine(armOctMachine, '2019-12-31', [
{ etapeTypeId: 'mfr', etapeStatutId: 'fai' },
{ etapeTypeId: 'mdp', etapeStatutId: 'fai' },
{ etapeTypeId: 'men', etapeStatutId: 'fai' },
{ etapeTypeId: 'mfr', etapeStatutId: 'fai' },
])
).toThrowErrorMatchingSnapshot()
})
test('ne peut pas déplacer une étape "mdp" sans "mfr"', () => {
test('ne peut pas déplacer une étape "men" sans "mfr"', () => {
expect(() =>
setDateAndOrderAndInterpretMachine(armOctMachine, '2020-02-01', [
{ etapeTypeId: 'mdp', etapeStatutId: 'fai' },
{ etapeTypeId: 'men', etapeStatutId: 'fai' },
{ etapeTypeId: 'mfr', etapeStatutId: 'fai' },
])
).toThrowErrorMatchingSnapshot()
......@@ -170,29 +170,29 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
...ETES.decisionDeLaMissionAutoriteEnvironnementale_ExamenAuCasParCasDuProjet_.EXEMPTE,
},
])(
'peut créer une étape "%s" juste après une "mdp" et que le titre est mécanisé avec franchissement d’eau',
'peut créer une étape "%s" juste après une "men" et que le titre est mécanisé avec franchissement d’eau',
(etape: EtapeTypeEtapeStatutValidPair & Omit<Etape, 'date' | 'etapeTypeId' | 'etapeStatutId'>) => {
setDateAndOrderAndInterpretMachine(armOctMachine, '2020-01-01', [
{ etapeTypeId: 'mfr', etapeStatutId: 'fai', contenu: { arm: { mecanise: true, franchissements: 1 } } },
{ etapeTypeId: 'mdp', etapeStatutId: 'fai' },
{ etapeTypeId: 'men', etapeStatutId: 'fai' },
etape,
])
}
)
test('peut créer une étape "mcp" après une "mdp"', () => {
test('peut créer une étape "mcp" après une "men"', () => {
setDateAndOrderAndInterpretMachine(armOctMachine, '2020-01-01', [
{ etapeTypeId: 'mfr', etapeStatutId: 'fai' },
{ etapeTypeId: 'mdp', etapeStatutId: 'fai' },
{ etapeTypeId: 'men', etapeStatutId: 'fai' },
{ etapeTypeId: 'pfd', etapeStatutId: 'fai' },
{ etapeTypeId: 'mcp', etapeStatutId: 'com' },
])
})
test('peut créer une "des" après "mdp"', () => {
test('peut créer une "des" après "men"', () => {
setDateAndOrderAndInterpretMachine(armOctMachine, '2020-02-02', [
{ etapeTypeId: 'mfr', etapeStatutId: 'fai' },
{ etapeTypeId: 'mdp', etapeStatutId: 'fai' },
{ etapeTypeId: 'men', etapeStatutId: 'fai' },
{ etapeTypeId: 'des', etapeStatutId: 'fai' },
])
})
......@@ -205,7 +205,7 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
etapeStatutId: 'fai',
},
{
etapeTypeId: 'mdp',
etapeTypeId: 'men',
etapeStatutId: 'fai',
},
{
......@@ -228,7 +228,7 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
date: toCaminoDate('2020-01-01'),
},
{
etapeTypeId: 'mdp',
etapeTypeId: 'men',
etapeStatutId: 'fai',
date: toCaminoDate('2020-01-02'),
},
......@@ -254,7 +254,7 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
contenu: { arm: { mecanise: true } },
},
{
etapeTypeId: 'mdp',
etapeTypeId: 'men',
etapeStatutId: 'fai',
date: toCaminoDate('2020-01-02'),
},
......@@ -325,7 +325,7 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
date: toCaminoDate('2020-01-01'),
},
{
etapeTypeId: 'mdp',
etapeTypeId: 'men',
etapeStatutId: 'fai',
date: toCaminoDate('2020-01-01'),
},
......@@ -411,7 +411,7 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
etapeStatutId: 'com',
},
{
etapeTypeId: 'mdp',
etapeTypeId: 'men',
date: toCaminoDate('2020-05-04'),
etapeStatutId: 'fai',
},
......@@ -436,7 +436,7 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
etapeStatutId: 'fai',
},
{
etapeTypeId: 'mdp',
etapeTypeId: 'men',
date: toCaminoDate('2019-12-12'),
etapeStatutId: 'fai',
},
......@@ -473,7 +473,7 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
])
})
test('peut créer une "mcp" après une "pfd" et "mdp"', () => {
test('peut créer une "mcp" après une "pfd" et "men"', () => {
orderAndInterpretMachine(armOctMachine, [
{
etapeTypeId: 'mfr',
......@@ -481,7 +481,7 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
etapeStatutId: 'fai',
},
{
etapeTypeId: 'mdp',
etapeTypeId: 'men',
date: toCaminoDate('2020-02-23'),
etapeStatutId: 'fai',
},
......@@ -517,7 +517,7 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
etapeStatutId: 'fai',
},
{
etapeTypeId: 'mdp',
etapeTypeId: 'men',
date: toCaminoDate('2020-07-17'),
etapeStatutId: 'fai',
},
......@@ -624,7 +624,7 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
date: toCaminoDate('2019-12-13'),
},
{
etapeTypeId: 'mdp',
etapeTypeId: 'men',
etapeStatutId: 'fai',
date: toCaminoDate('2019-12-11'),
},
......@@ -670,7 +670,7 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
date: toCaminoDate('2021-05-20'),
},
{
etapeTypeId: 'mdp',
etapeTypeId: 'men',
etapeStatutId: 'fai',
date: toCaminoDate('2021-05-20'),
},
......@@ -697,7 +697,7 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
date: toCaminoDate('2021-02-26'),
},
{
etapeTypeId: 'mdp',
etapeTypeId: 'men',
etapeStatutId: 'fai',
date: toCaminoDate('2021-02-26'),
},
......@@ -758,7 +758,7 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
date: toCaminoDate('2021-02-26'),
},
{
etapeTypeId: 'mdp',
etapeTypeId: 'men',
etapeStatutId: 'fai',
date: toCaminoDate('2021-02-26'),
},
......@@ -834,7 +834,7 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
date: toCaminoDate('2021-02-26'),
},
{
etapeTypeId: 'mdp',
etapeTypeId: 'men',
etapeStatutId: 'fai',
date: toCaminoDate('2021-02-26'),
},
......@@ -904,7 +904,7 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
date: toCaminoDate('2021-02-26'),
},
{
etapeTypeId: 'mdp',
etapeTypeId: 'men',
etapeStatutId: 'fai',
date: toCaminoDate('2021-02-26'),
},
......@@ -994,7 +994,7 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
date: toCaminoDate('2021-02-27'),
},
{
etapeTypeId: 'mdp',
etapeTypeId: 'men',
etapeStatutId: 'fai',
date: toCaminoDate('2021-02-26'),
},
......@@ -1030,7 +1030,7 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
date: toCaminoDate('2020-08-25'),
},
{
etapeTypeId: 'mdp',
etapeTypeId: 'men',
etapeStatutId: 'fai',
date: toCaminoDate('2020-08-25'),
},
......@@ -1142,7 +1142,7 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
date: toCaminoDate('2021-02-27'),
},
{
etapeTypeId: 'mdp',
etapeTypeId: 'men',
etapeStatutId: 'fai',
date: toCaminoDate('2021-02-26'),
},
......@@ -1191,7 +1191,7 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
date: toCaminoDate('2021-02-27'),
},
{
etapeTypeId: 'mdp',
etapeTypeId: 'men',
etapeStatutId: 'fai',
date: toCaminoDate('2021-02-26'),
},
......@@ -1244,7 +1244,7 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
date: toCaminoDate('2021-02-27'),
},
{
etapeTypeId: 'mdp',
etapeTypeId: 'men',
etapeStatutId: 'fai',
date: toCaminoDate('2021-02-26'),
},
......@@ -1288,7 +1288,7 @@ describe('vérifie l’arbre d’octroi d’ARM', () => {
date: toCaminoDate('2021-02-27'),
},
{
etapeTypeId: 'mdp',
etapeTypeId: 'men',
etapeStatutId: 'fai',
date: toCaminoDate('2021-02-26'),
},
......
......@@ -27,7 +27,7 @@ type RefuserRDE = {
}
type XStateEvent =
| { type: 'DEPOSER_DEMANDE' }
| { type: 'ENREGISTRER_DEMANDE' }
| { type: 'DESISTER_PAR_LE_DEMANDEUR' }
| { type: 'CLASSER_SANS_SUITE' }
| FaireDemandeEvent
......@@ -77,7 +77,7 @@ type Event = XStateEvent['type']
const trad: { [key in Event]: { db: DBEtat; mainStep: boolean } } = {
FAIRE_DEMANDE: { db: EtapesTypesEtapesStatuts.demande, mainStep: true },
DEPOSER_DEMANDE: { db: EtapesTypesEtapesStatuts.depotDeLaDemande, mainStep: true },
ENREGISTRER_DEMANDE: { db: EtapesTypesEtapesStatuts.enregistrementDeLaDemande, mainStep: true },
PAYER_FRAIS_DE_DOSSIER: { db: EtapesTypesEtapesStatuts.paiementDesFraisDeDossier, mainStep: true },
DEMANDER_MODIFICATION_DE_LA_DEMANDE: {
db: {
......@@ -433,7 +433,7 @@ const armOctMachine = createMachine({
demandeAFaire: {
on: {
FAIRE_DEMANDE: {
target: 'demandeADeposer',
target: 'demandeAEnregistrer',
actions: assign({
mecanisation: ({ context, event }): MecanisationInconnu => {
if (isMecanise(context.mecanisation) && context.mecanisation.franchissementCoursEau > 0 && (event.franchissements === null || event.franchissements === 0)) {
......@@ -463,17 +463,17 @@ const armOctMachine = createMachine({
},
},
},
demandeADeposer: {
demandeAEnregistrer: {
on: {
DEPOSER_DEMANDE: {
target: 'demandeDeposee',
ENREGISTRER_DEMANDE: {
target: 'demandeEnregistree',
actions: assign({
demarcheStatut: DemarchesStatutsIds.EnInstruction,
}),
},
},
},
demandeDeposee: {
demandeEnregistree: {
type: 'final',
},
},
......
......@@ -8,16 +8,21 @@ const etapesProd = require('./2019-10-31-ren-pro.cas.json') // eslint-disable-li
describe('vérifie l’arbre de renonciation et de prolongation d’ARM', () => {
const armRenProMachine = new ArmRenProMachine()
test('peut créer une étape "mdp" après une "mfr"', () => {
const { service } = setDateAndOrderAndInterpretMachine(armRenProMachine, '2020-05-27', [ETES.demande.FAIT, ETES.depotDeLaDemande.FAIT])
test('peut créer une étape "men" après une "mfr"', () => {
const { service } = setDateAndOrderAndInterpretMachine(armRenProMachine, '2020-05-27', [ETES.demande.FAIT, ETES.enregistrementDeLaDemande.FAIT])
expect(service.getSnapshot().context.demarcheStatut).toBe(DemarchesStatutsIds.Depose)
})
test('ne peut pas faire de "mod" après une "mcr"', () => {
expect(() =>
setDateAndOrderAndInterpretMachine(armRenProMachine, '2020-05-26', [ETES.demande.FAIT, ETES.depotDeLaDemande.FAIT, ETES.recevabiliteDeLaDemande.FAVORABLE, ETES.modificationDeLaDemande.FAIT])
setDateAndOrderAndInterpretMachine(armRenProMachine, '2020-05-26', [
ETES.demande.FAIT,
ETES.enregistrementDeLaDemande.FAIT,
ETES.recevabiliteDeLaDemande.FAVORABLE,
ETES.modificationDeLaDemande.FAIT,
])
).toThrowErrorMatchingInlineSnapshot(
`[Error: Error: cannot execute step: '{"etapeTypeId":"mod","etapeStatutId":"fai","date":"2020-05-30"}' after '["mfr_fai","mdp_fai","mcr_fav"]'. The event {"type":"RECEVOIR_MODIFICATION_DE_LA_DEMANDE","date":"2020-05-30","status":"fai"} should be one of 'CLASSER_SANS_SUITE,DESISTER_PAR_LE_DEMANDEUR,RENDRE_AVIS_DES_SERVICES_ET_COMMISSIONS_CONSULTATIVES']`
`[Error: Error: cannot execute step: '{"etapeTypeId":"mod","etapeStatutId":"fai","date":"2020-05-30"}' after '["mfr_fai","men_fai","mcr_fav"]'. The event {"type":"RECEVOIR_MODIFICATION_DE_LA_DEMANDE","date":"2020-05-30","status":"fai"} should be one of 'CLASSER_SANS_SUITE,DESISTER_PAR_LE_DEMANDEUR,RENDRE_AVIS_DES_SERVICES_ET_COMMISSIONS_CONSULTATIVES']`
)
})
......@@ -25,20 +30,20 @@ describe('vérifie l’arbre de renonciation et de prolongation d’ARM', () =>
expect(() =>
setDateAndOrderAndInterpretMachine(armRenProMachine, '2020-05-27', [
ETES.demande.FAIT,
ETES.depotDeLaDemande.FAIT,
ETES.enregistrementDeLaDemande.FAIT,
ETES.demandeDeComplements_RecevabiliteDeLaDemande_.FAIT,
ETES.demandeDeComplements_RecevabiliteDeLaDemande_.FAIT,
// {...ETES.recevabiliteDeLaDemande.DEFAVORABLE, date: toCaminoDate('2020-05-30') },
])
).toThrowErrorMatchingInlineSnapshot(
`[Error: Error: cannot execute step: '{"etapeTypeId":"mca","etapeStatutId":"fai","date":"2020-05-31"}' after '["mfr_fai","mdp_fai","mca_fai"]'. The event {"type":"DEMANDER_COMPLEMENTS_POUR_RECEVABILITE","date":"2020-05-31","status":"fai"} should be one of 'DESISTER_PAR_LE_DEMANDEUR,FAIRE_RECEVABILITE_DEMANDE_DEFAVORABLE,FAIRE_RECEVABILITE_DEMANDE_FAVORABLE,RECEVOIR_COMPLEMENTS_POUR_RECEVABILITE']`
`[Error: Error: cannot execute step: '{"etapeTypeId":"mca","etapeStatutId":"fai","date":"2020-05-31"}' after '["mfr_fai","men_fai","mca_fai"]'. The event {"type":"DEMANDER_COMPLEMENTS_POUR_RECEVABILITE","date":"2020-05-31","status":"fai"} should be one of 'DESISTER_PAR_LE_DEMANDEUR,FAIRE_RECEVABILITE_DEMANDE_DEFAVORABLE,FAIRE_RECEVABILITE_DEMANDE_FAVORABLE,RECEVOIR_COMPLEMENTS_POUR_RECEVABILITE']`
)
})
test('peut mettre une "asc" après une "mcp"', () => {
const { service } = setDateAndOrderAndInterpretMachine(armRenProMachine, '2020-06-30', [
ETES.demande.FAIT,
ETES.depotDeLaDemande.FAIT,
ETES.enregistrementDeLaDemande.FAIT,
ETES.recevabiliteDeLaDemande.FAVORABLE,
ETES.avisDesServicesEtCommissionsConsultatives.FAIT,
])
......
......@@ -6,7 +6,7 @@ import { DemarchesStatutsIds } from 'camino-common/src/static/demarchesStatuts'
type XStateEvent =
| { type: 'FAIRE_DEMANDE' }
| { type: 'DEPOSER_DEMANDE' }
| { type: 'ENREGISTRER_DEMANDE' }
| { type: 'DEMANDER_COMPLEMENTS_POUR_RECEVABILITE' }
| { type: 'FAIRE_RECEVABILITE_DEMANDE_FAVORABLE' }
| { type: 'FAIRE_RECEVABILITE_DEMANDE_DEFAVORABLE' }
......@@ -24,7 +24,7 @@ type Event = XStateEvent['type']
// Si un jour on a un cas de rejet (peu probable car cette arbre ne sera plus utilisé avec la réforme), il faudra probablement rajouter une étape intermédiaire
const trad: { [key in Event]: { db: DBEtat; mainStep: boolean } } = {
FAIRE_DEMANDE: { db: EtapesTypesEtapesStatuts.demande, mainStep: true },
DEPOSER_DEMANDE: { db: EtapesTypesEtapesStatuts.depotDeLaDemande, mainStep: true },
ENREGISTRER_DEMANDE: { db: EtapesTypesEtapesStatuts.enregistrementDeLaDemande, mainStep: true },
DEMANDER_COMPLEMENTS_POUR_RECEVABILITE: { db: EtapesTypesEtapesStatuts.demandeDeComplements_RecevabiliteDeLaDemande_, mainStep: false },
FAIRE_RECEVABILITE_DEMANDE_FAVORABLE: {
db: {
......@@ -83,12 +83,12 @@ const armRenProMachine = createMachine({
states: {
demandeAFaire: {
on: {
FAIRE_DEMANDE: 'depotDeLaDemandeAFaire',
FAIRE_DEMANDE: 'enregistrementDeLaDemandeAFaire',
},
},
depotDeLaDemandeAFaire: {
enregistrementDeLaDemandeAFaire: {
on: {
DEPOSER_DEMANDE: {
ENREGISTRER_DEMANDE: {
target: 'recevabiliteDeLaDemandeAFaire',
actions: assign({
demarcheStatut: DemarchesStatutsIds.Depose,
......
[{"id":0,"demarcheStatutId":"cls","demarchePublique":true,"etapes":[{"date":"2012-06-14","etapeTypeId":"mfr","etapeStatutId":"fai"},{"date":"2012-06-14","etapeTypeId":"mdp","etapeStatutId":"fai"},{"date":"2014-05-07","etapeTypeId":"css","etapeStatutId":"fai"}]},{"id":1,"demarcheStatutId":"rej","demarchePublique":true,"etapes":[{"date":"2021-12-07","etapeTypeId":"mfr","etapeStatutId":"fai","paysId":"GF","surface":1},{"date":"2021-12-08","etapeTypeId":"mdp","etapeStatutId":"fai"},{"date":"2022-05-17","etapeTypeId":"mcr","etapeStatutId":"fav"},{"date":"2022-05-17","etapeTypeId":"asc","etapeStatutId":"fai"},{"date":"2022-05-17","etapeTypeId":"adc","etapeStatutId":"fai"},{"date":"2023-02-02","etapeTypeId":"apd","etapeStatutId":"fav"},{"date":"2023-04-24","etapeTypeId":"spo","etapeStatutId":"fai"},{"date":"2023-05-03","etapeTypeId":"apo","etapeStatutId":"def"},{"date":"2024-03-08","etapeTypeId":"dex","etapeStatutId":"rej","paysId":"GF","surface":1},{"date":"2024-03-14","etapeTypeId":"rpu","etapeStatutId":"fai","paysId":"GF","surface":1},{"date":"2024-03-19","etapeTypeId":"mno","etapeStatutId":"fai"}]},{"id":2,"demarcheStatutId":"rej","demarchePublique":true,"etapes":[{"date":"2019-12-15","etapeTypeId":"mfr","etapeStatutId":"fai"},{"date":"2019-12-15","etapeTypeId":"mdp","etapeStatutId":"fai"},{"date":"2019-12-18","etapeTypeId":"mcr","etapeStatutId":"fav"},{"date":"2022-01-25","etapeTypeId":"dim","etapeStatutId":"rej"}]},{"id":3,"demarcheStatutId":"acc","demarchePublique":true,"etapes":[{"date":"2023-01-24","etapeTypeId":"mfr","etapeStatutId":"fai","paysId":"GF","surface":0.95},{"date":"2023-01-24","etapeTypeId":"mdp","etapeStatutId":"fai"},{"date":"2023-04-18","etapeTypeId":"mcr","etapeStatutId":"fav"},{"date":"2023-04-18","etapeTypeId":"adc","etapeStatutId":"fai"},{"date":"2023-04-18","etapeTypeId":"asc","etapeStatutId":"fai"},{"date":"2023-06-10","etapeTypeId":"apd","etapeStatutId":"fav"},{"date":"2023-06-19","etapeTypeId":"apo","etapeStatutId":"fav"},{"date":"2023-07-09","etapeTypeId":"dex","etapeStatutId":"acc","paysId":"GF","surface":0.95}]},{"id":4,"demarcheStatutId":"rej","demarchePublique":true,"etapes":[{"date":"2019-10-03","etapeTypeId":"mfr","etapeStatutId":"fai","surface":1},{"date":"2019-10-23","etapeTypeId":"mdp","etapeStatutId":"fai"},{"date":"2020-12-22","etapeTypeId":"dim","etapeStatutId":"rej","surface":1}]},{"id":5,"demarcheStatutId":"dep","demarchePublique":false,"etapes":[{"date":"2024-04-08","etapeTypeId":"mfr","etapeStatutId":"fai","paysId":"GF","surface":1},{"date":"2024-04-08","etapeTypeId":"mdp","etapeStatutId":"fai"}]},{"id":6,"demarcheStatutId":"dep","demarchePublique":false,"etapes":[{"date":"2024-05-09","etapeTypeId":"mfr","etapeStatutId":"fai","paysId":"GF","surface":1},{"date":"2024-05-09","etapeTypeId":"mdp","etapeStatutId":"fai"}]},{"id":7,"demarcheStatutId":"dep","demarchePublique":false,"etapes":[{"date":"2024-05-04","etapeTypeId":"mfr","etapeStatutId":"fai","paysId":"GF","surface":0.92},{"date":"2024-05-04","etapeTypeId":"mdp","etapeStatutId":"fai"}]},{"id":8,"demarcheStatutId":"rej","demarchePublique":true,"etapes":[{"date":"2020-02-03","etapeTypeId":"mfr","etapeStatutId":"fai","paysId":"GF","surface":0.91},{"date":"2020-02-22","etapeTypeId":"mdp","etapeStatutId":"fai"},{"date":"2024-05-06","etapeTypeId":"dim","etapeStatutId":"rej","paysId":"GF","surface":0}]},{"id":9,"demarcheStatutId":"des","demarchePublique":true,"etapes":[{"date":"2019-01-18","etapeTypeId":"mfr","etapeStatutId":"fai"},{"date":"2019-01-18","etapeTypeId":"mdp","etapeStatutId":"fai"},{"date":"2021-01-23","etapeTypeId":"des","etapeStatutId":"fai"}]},{"id":10,"demarcheStatutId":"des","demarchePublique":true,"etapes":[{"date":"2022-03-10","etapeTypeId":"mfr","etapeStatutId":"fai","paysId":"GF","surface":1},{"date":"2022-03-10","etapeTypeId":"mdp","etapeStatutId":"fai"},{"date":"2022-11-07","etapeTypeId":"des","etapeStatutId":"fai"}]},{"id":11,"demarcheStatutId":"cls","demarchePublique":true,"etapes":[{"date":"2019-12-08","etapeTypeId":"mfr","etapeStatutId":"fai"},{"date":"2019-12-08","etapeTypeId":"mdp","etapeStatutId":"fai"},{"date":"2022-01-27","etapeTypeId":"css","etapeStatutId":"fai"}]},{"id":12,"demarcheStatutId":"des","demarchePublique":true,"etapes":[{"date":"2022-06-27","etapeTypeId":"mfr","etapeStatutId":"fai","paysId":"GF","surface":0.99},{"date":"2022-06-27","etapeTypeId":"mdp","etapeStatutId":"fai"},{"date":"2023-06-13","etapeTypeId":"des","etapeStatutId":"fai"}]},{"id":13,"demarcheStatutId":"acc","demarchePublique":true,"etapes":[{"date":"2022-02-06","etapeTypeId":"mfr","etapeStatutId":"fai","paysId":"GF","surface":0.99},{"date":"2022-02-10","etapeTypeId":"mdp","etapeStatutId":"fai"},{"date":"2022-10-10","etapeTypeId":"mcr","etapeStatutId":"fav"},{"date":"2022-10-10","etapeTypeId":"asc","etapeStatutId":"fai"},{"date":"2022-10-10","etapeTypeId":"adc","etapeStatutId":"fai"},{"date":"2023-02-01","etapeTypeId":"apd","etapeStatutId":"fav"},{"date":"2023-03-01","etapeTypeId":"apo","etapeStatutId":"fav"},{"date":"2023-03-14","etapeTypeId":"dex","etapeStatutId":"acc","paysId":"GF","surface":0.99}]},{"id":14,"demarcheStatutId":"acc","demarchePublique":true,"etapes":[{"date":"2022-03-06","etapeTypeId":"mfr","etapeStatutId":"fai"},{"date":"2022-03-06","etapeTypeId":"mdp","etapeStatutId":"fai"},{"date":"2022-10-03","etapeTypeId":"mcr","etapeStatutId":"fav"},{"date":"2022-10-03","etapeTypeId":"adc","etapeStatutId":"fai"},{"date":"2022-10-03","etapeTypeId":"asc","etapeStatutId":"fai"},{"date":"2022-11-17","etapeTypeId":"apd","etapeStatutId":"fav"},{"date":"2022-12-27","etapeTypeId":"apo","etapeStatutId":"fav"},{"date":"2023-01-10","etapeTypeId":"dex","etapeStatutId":"acc"}]},{"id":15,"demarcheStatutId":"acc","demarchePublique":true,"etapes":[{"date":"2022-10-24","etapeTypeId":"mfr","etapeStatutId":"fai","paysId":"GF","surface":1.08},{"date":"2022-10-27","etapeTypeId":"mdp","etapeStatutId":"fai"},{"date":"2023-04-06","etapeTypeId":"mcr","etapeStatutId":"fav"},{"date":"2023-04-07","etapeTypeId":"adc","etapeStatutId":"fai"},{"date":"2023-04-07","etapeTypeId":"asc","etapeStatutId":"fai"},{"date":"2023-05-31","etapeTypeId":"apd","etapeStatutId":"fav"},{"date":"2023-06-08","etapeTypeId":"apo","etapeStatutId":"fav"},{"date":"2023-06-28","etapeTypeId":"dex","etapeStatutId":"acc","paysId":"GF","surface":1.08}]},{"id":16,"demarcheStatutId":"rej","demarchePublique":true,"etapes":[{"date":"2016-09-23","etapeTypeId":"mfr","etapeStatutId":"fai"},{"date":"2016-09-23","etapeTypeId":"mdp","etapeStatutId":"fai"},{"date":"2016-11-12","etapeTypeId":"mcr","etapeStatutId":"fav"},{"date":"2016-11-12","etapeTypeId":"asc","etapeStatutId":"fai"},{"date":"2016-11-12","etapeTypeId":"adc","etapeStatutId":"fai"},{"date":"2016-12-31","etapeTypeId":"apd","etapeStatutId":"def"},{"date":"2017-01-08","etapeTypeId":"apo","etapeStatutId":"def"},{"date":"2017-01-21","etapeTypeId":"dex","etapeStatutId":"rej"}]},{"id":17,"demarcheStatutId":"des","demarchePublique":true,"etapes":[{"date":"2017-05-06","etapeTypeId":"mfr","etapeStatutId":"fai"},{"date":"2017-05-06","etapeTypeId":"mdp","etapeStatutId":"fai"},{"date":"2021-05-23","etapeTypeId":"des","etapeStatutId":"fai"}]},{"id":18,"demarcheStatutId":"cls","demarchePublique":true,"etapes":[{"date":"2020-05-18","etapeTypeId":"mfr","etapeStatutId":"fai"},{"date":"2020-05-19","etapeTypeId":"mdp","etapeStatutId":"fai"},{"date":"2021-11-15","etapeTypeId":"css","etapeStatutId":"fai"}]},{"id":19,"demarcheStatutId":"dep","demarchePublique":false,"etapes":[{"date":"2024-05-24","etapeTypeId":"mfr","etapeStatutId":"fai","paysId":"GF","surface":0.99},{"date":"2024-05-24","etapeTypeId":"mdp","etapeStatutId":"fai"}]},{"id":20,"demarcheStatutId":"cls","demarchePublique":true,"etapes":[{"date":"2013-11-17","etapeTypeId":"mfr","etapeStatutId":"fai"},{"date":"2013-11-17","etapeTypeId":"mdp","etapeStatutId":"fai"},{"date":"2015-08-09","etapeTypeId":"css","etapeStatutId":"fai"}]},{"id":21,"demarcheStatutId":"acc","demarchePublique":true,"etapes":[{"date":"2022-05-18","etapeTypeId":"mfr","etapeStatutId":"fai","paysId":"GF","surface":1},{"date":"2022-05-24","etapeTypeId":"mdp","etapeStatutId":"fai"},{"date":"2022-12-27","etapeTypeId":"mcr","etapeStatutId":"fav"},{"date":"2022-12-27","etapeTypeId":"asc","etapeStatutId":"fai"},{"date":"2022-12-27","etapeTypeId":"adc","etapeStatutId":"fai"},{"date":"2023-02-01","etapeTypeId":"apd","etapeStatutId":"fav"},{"date":"2023-02-15","etapeTypeId":"apo","etapeStatutId":"fav"},{"date":"2023-02-24","etapeTypeId":"dex","etapeStatutId":"acc","paysId":"GF","surface":1}]},{"id":22,"demarcheStatutId":"cls","demarchePublique":true,"etapes":[{"date":"2020-07-04","etapeTypeId":"mfr","etapeStatutId":"fai"},{"date":"2020-07-04","etapeTypeId":"mdp","etapeStatutId":"fai"},{"date":"2021-08-18","etapeTypeId":"css","etapeStatutId":"fai"}]}]
[{"id":0,"demarcheStatutId":"cls","demarchePublique":true,"etapes":[{"date":"2012-06-14","etapeTypeId":"mfr","etapeStatutId":"fai"},{"date":"2012-06-14","etapeTypeId":"men","etapeStatutId":"fai"},{"date":"2014-05-07","etapeTypeId":"css","etapeStatutId":"fai"}]},{"id":1,"demarcheStatutId":"rej","demarchePublique":true,"etapes":[{"date":"2021-12-07","etapeTypeId":"mfr","etapeStatutId":"fai","paysId":"GF","surface":1},{"date":"2021-12-08","etapeTypeId":"men","etapeStatutId":"fai"},{"date":"2022-05-17","etapeTypeId":"mcr","etapeStatutId":"fav"},{"date":"2022-05-17","etapeTypeId":"asc","etapeStatutId":"fai"},{"date":"2022-05-17","etapeTypeId":"adc","etapeStatutId":"fai"},{"date":"2023-02-02","etapeTypeId":"apd","etapeStatutId":"fav"},{"date":"2023-04-24","etapeTypeId":"spo","etapeStatutId":"fai"},{"date":"2023-05-03","etapeTypeId":"apo","etapeStatutId":"def"},{"date":"2024-03-08","etapeTypeId":"dex","etapeStatutId":"rej","paysId":"GF","surface":1},{"date":"2024-03-14","etapeTypeId":"rpu","etapeStatutId":"fai","paysId":"GF","surface":1},{"date":"2024-03-19","etapeTypeId":"mno","etapeStatutId":"fai"}]},{"id":2,"demarcheStatutId":"rej","demarchePublique":true,"etapes":[{"date":"2019-12-15","etapeTypeId":"mfr","etapeStatutId":"fai"},{"date":"2019-12-15","etapeTypeId":"men","etapeStatutId":"fai"},{"date":"2019-12-18","etapeTypeId":"mcr","etapeStatutId":"fav"},{"date":"2022-01-25","etapeTypeId":"dim","etapeStatutId":"rej"}]},{"id":3,"demarcheStatutId":"acc","demarchePublique":true,"etapes":[{"date":"2023-01-24","etapeTypeId":"mfr","etapeStatutId":"fai","paysId":"GF","surface":0.95},{"date":"2023-01-24","etapeTypeId":"men","etapeStatutId":"fai"},{"date":"2023-04-18","etapeTypeId":"mcr","etapeStatutId":"fav"},{"date":"2023-04-18","etapeTypeId":"adc","etapeStatutId":"fai"},{"date":"2023-04-18","etapeTypeId":"asc","etapeStatutId":"fai"},{"date":"2023-06-10","etapeTypeId":"apd","etapeStatutId":"fav"},{"date":"2023-06-19","etapeTypeId":"apo","etapeStatutId":"fav"},{"date":"2023-07-09","etapeTypeId":"dex","etapeStatutId":"acc","paysId":"GF","surface":0.95}]},{"id":4,"demarcheStatutId":"rej","demarchePublique":true,"etapes":[{"date":"2019-10-03","etapeTypeId":"mfr","etapeStatutId":"fai","surface":1},{"date":"2019-10-23","etapeTypeId":"men","etapeStatutId":"fai"},{"date":"2020-12-22","etapeTypeId":"dim","etapeStatutId":"rej","surface":1}]},{"id":5,"demarcheStatutId":"dep","demarchePublique":false,"etapes":[{"date":"2024-04-08","etapeTypeId":"mfr","etapeStatutId":"fai","paysId":"GF","surface":1},{"date":"2024-04-08","etapeTypeId":"men","etapeStatutId":"fai"}]},{"id":6,"demarcheStatutId":"dep","demarchePublique":false,"etapes":[{"date":"2024-05-09","etapeTypeId":"mfr","etapeStatutId":"fai","paysId":"GF","surface":1},{"date":"2024-05-09","etapeTypeId":"men","etapeStatutId":"fai"}]},{"id":7,"demarcheStatutId":"dep","demarchePublique":false,"etapes":[{"date":"2024-05-04","etapeTypeId":"mfr","etapeStatutId":"fai","paysId":"GF","surface":0.92},{"date":"2024-05-04","etapeTypeId":"men","etapeStatutId":"fai"}]},{"id":8,"demarcheStatutId":"rej","demarchePublique":true,"etapes":[{"date":"2020-02-03","etapeTypeId":"mfr","etapeStatutId":"fai","paysId":"GF","surface":0.91},{"date":"2020-02-22","etapeTypeId":"men","etapeStatutId":"fai"},{"date":"2024-05-06","etapeTypeId":"dim","etapeStatutId":"rej","paysId":"GF","surface":0}]},{"id":9,"demarcheStatutId":"des","demarchePublique":true,"etapes":[{"date":"2019-01-18","etapeTypeId":"mfr","etapeStatutId":"fai"},{"date":"2019-01-18","etapeTypeId":"men","etapeStatutId":"fai"},{"date":"2021-01-23","etapeTypeId":"des","etapeStatutId":"fai"}]},{"id":10,"demarcheStatutId":"des","demarchePublique":true,"etapes":[{"date":"2022-03-10","etapeTypeId":"mfr","etapeStatutId":"fai","paysId":"GF","surface":1},{"date":"2022-03-10","etapeTypeId":"men","etapeStatutId":"fai"},{"date":"2022-11-07","etapeTypeId":"des","etapeStatutId":"fai"}]},{"id":11,"demarcheStatutId":"cls","demarchePublique":true,"etapes":[{"date":"2019-12-08","etapeTypeId":"mfr","etapeStatutId":"fai"},{"date":"2019-12-08","etapeTypeId":"men","etapeStatutId":"fai"},{"date":"2022-01-27","etapeTypeId":"css","etapeStatutId":"fai"}]},{"id":12,"demarcheStatutId":"des","demarchePublique":true,"etapes":[{"date":"2022-06-27","etapeTypeId":"mfr","etapeStatutId":"fai","paysId":"GF","surface":0.99},{"date":"2022-06-27","etapeTypeId":"men","etapeStatutId":"fai"},{"date":"2023-06-13","etapeTypeId":"des","etapeStatutId":"fai"}]},{"id":13,"demarcheStatutId":"acc","demarchePublique":true,"etapes":[{"date":"2022-02-06","etapeTypeId":"mfr","etapeStatutId":"fai","paysId":"GF","surface":0.99},{"date":"2022-02-10","etapeTypeId":"men","etapeStatutId":"fai"},{"date":"2022-10-10","etapeTypeId":"mcr","etapeStatutId":"fav"},{"date":"2022-10-10","etapeTypeId":"asc","etapeStatutId":"fai"},{"date":"2022-10-10","etapeTypeId":"adc","etapeStatutId":"fai"},{"date":"2023-02-01","etapeTypeId":"apd","etapeStatutId":"fav"},{"date":"2023-03-01","etapeTypeId":"apo","etapeStatutId":"fav"},{"date":"2023-03-14","etapeTypeId":"dex","etapeStatutId":"acc","paysId":"GF","surface":0.99}]},{"id":14,"demarcheStatutId":"acc","demarchePublique":true,"etapes":[{"date":"2022-03-06","etapeTypeId":"mfr","etapeStatutId":"fai"},{"date":"2022-03-06","etapeTypeId":"men","etapeStatutId":"fai"},{"date":"2022-10-03","etapeTypeId":"mcr","etapeStatutId":"fav"},{"date":"2022-10-03","etapeTypeId":"adc","etapeStatutId":"fai"},{"date":"2022-10-03","etapeTypeId":"asc","etapeStatutId":"fai"},{"date":"2022-11-17","etapeTypeId":"apd","etapeStatutId":"fav"},{"date":"2022-12-27","etapeTypeId":"apo","etapeStatutId":"fav"},{"date":"2023-01-10","etapeTypeId":"dex","etapeStatutId":"acc"}]},{"id":15,"demarcheStatutId":"acc","demarchePublique":true,"etapes":[{"date":"2022-10-24","etapeTypeId":"mfr","etapeStatutId":"fai","paysId":"GF","surface":1.08},{"date":"2022-10-27","etapeTypeId":"men","etapeStatutId":"fai"},{"date":"2023-04-06","etapeTypeId":"mcr","etapeStatutId":"fav"},{"date":"2023-04-07","etapeTypeId":"adc","etapeStatutId":"fai"},{"date":"2023-04-07","etapeTypeId":"asc","etapeStatutId":"fai"},{"date":"2023-05-31","etapeTypeId":"apd","etapeStatutId":"fav"},{"date":"2023-06-08","etapeTypeId":"apo","etapeStatutId":"fav"},{"date":"2023-06-28","etapeTypeId":"dex","etapeStatutId":"acc","paysId":"GF","surface":1.08}]},{"id":16,"demarcheStatutId":"rej","demarchePublique":true,"etapes":[{"date":"2016-09-23","etapeTypeId":"mfr","etapeStatutId":"fai"},{"date":"2016-09-23","etapeTypeId":"men","etapeStatutId":"fai"},{"date":"2016-11-12","etapeTypeId":"mcr","etapeStatutId":"fav"},{"date":"2016-11-12","etapeTypeId":"asc","etapeStatutId":"fai"},{"date":"2016-11-12","etapeTypeId":"adc","etapeStatutId":"fai"},{"date":"2016-12-31","etapeTypeId":"apd","etapeStatutId":"def"},{"date":"2017-01-08","etapeTypeId":"apo","etapeStatutId":"def"},{"date":"2017-01-21","etapeTypeId":"dex","etapeStatutId":"rej"}]},{"id":17,"demarcheStatutId":"des","demarchePublique":true,"etapes":[{"date":"2017-05-06","etapeTypeId":"mfr","etapeStatutId":"fai"},{"date":"2017-05-06","etapeTypeId":"men","etapeStatutId":"fai"},{"date":"2021-05-23","etapeTypeId":"des","etapeStatutId":"fai"}]},{"id":18,"demarcheStatutId":"cls","demarchePublique":true,"etapes":[{"date":"2020-05-18","etapeTypeId":"mfr","etapeStatutId":"fai"},{"date":"2020-05-19","etapeTypeId":"men","etapeStatutId":"fai"},{"date":"2021-11-15","etapeTypeId":"css","etapeStatutId":"fai"}]},{"id":19,"demarcheStatutId":"dep","demarchePublique":false,"etapes":[{"date":"2024-05-24","etapeTypeId":"mfr","etapeStatutId":"fai","paysId":"GF","surface":0.99},{"date":"2024-05-24","etapeTypeId":"men","etapeStatutId":"fai"}]},{"id":20,"demarcheStatutId":"cls","demarchePublique":true,"etapes":[{"date":"2013-11-17","etapeTypeId":"mfr","etapeStatutId":"fai"},{"date":"2013-11-17","etapeTypeId":"men","etapeStatutId":"fai"},{"date":"2015-08-09","etapeTypeId":"css","etapeStatutId":"fai"}]},{"id":21,"demarcheStatutId":"acc","demarchePublique":true,"etapes":[{"date":"2022-05-18","etapeTypeId":"mfr","etapeStatutId":"fai","paysId":"GF","surface":1},{"date":"2022-05-24","etapeTypeId":"men","etapeStatutId":"fai"},{"date":"2022-12-27","etapeTypeId":"mcr","etapeStatutId":"fav"},{"date":"2022-12-27","etapeTypeId":"asc","etapeStatutId":"fai"},{"date":"2022-12-27","etapeTypeId":"adc","etapeStatutId":"fai"},{"date":"2023-02-01","etapeTypeId":"apd","etapeStatutId":"fav"},{"date":"2023-02-15","etapeTypeId":"apo","etapeStatutId":"fav"},{"date":"2023-02-24","etapeTypeId":"dex","etapeStatutId":"acc","paysId":"GF","surface":1}]},{"id":22,"demarcheStatutId":"cls","demarchePublique":true,"etapes":[{"date":"2020-07-04","etapeTypeId":"mfr","etapeStatutId":"fai"},{"date":"2020-07-04","etapeTypeId":"men","etapeStatutId":"fai"},{"date":"2021-08-18","etapeTypeId":"css","etapeStatutId":"fai"}]}]
......@@ -8,8 +8,13 @@ const etapesProd = require('./2020-09-30-oct.cas.json') // eslint-disable-line
describe('vérifie l’arbre d’octroi d’AXM', () => {
const axmOctMachine = new AxmOctMachine()
test('peut créer une "mdp" après une "mfr", "dae" et "asl"', () => {
const etapes = [ETES.decisionDeLaMissionAutoriteEnvironnementale_ExamenAuCasParCasDuProjet_.EXEMPTE, ETES.decisionDuProprietaireDuSol.FAVORABLE, ETES.demande.FAIT, ETES.depotDeLaDemande.FAIT]
test('peut créer une "men" après une "mfr", "dae" et "asl"', () => {
const etapes = [
ETES.decisionDeLaMissionAutoriteEnvironnementale_ExamenAuCasParCasDuProjet_.EXEMPTE,
ETES.decisionDuProprietaireDuSol.FAVORABLE,
ETES.demande.FAIT,
ETES.enregistrementDeLaDemande.FAIT,
]
const { service, dateFin, etapes: fullEtapes } = setDateAndOrderAndInterpretMachine(axmOctMachine, '2020-01-01', etapes)
expect(service).canOnlyTransitionTo({ machine: axmOctMachine, date: dateFin }, [
'DEMANDER_COMPLEMENTS_POUR_RECEVABILITE',
......@@ -22,13 +27,13 @@ describe('vérifie l’arbre d’octroi d’AXM', () => {
expect(axmOctMachine.whoIsBlocking(fullEtapes)).toStrictEqual([ADMINISTRATION_IDS['DGTM - GUYANE']])
})
test('peut créer une "mdp" après une "mfr", "asl", "dae" requise', () => {
test('peut créer une "men" après une "mfr", "asl", "dae" requise', () => {
const etapes = [
ETES.decisionDeLaMissionAutoriteEnvironnementale_ExamenAuCasParCasDuProjet_.REQUIS,
ETES.decisionDuProprietaireDuSol.FAVORABLE,
ETES.modificationDeLaDemande_DecisionDeLaMissionAutoriteEnvironnementale_ExamenAuCasParCasDuProjet_.FAIT,
ETES.demande.FAIT,
ETES.depotDeLaDemande.FAIT,
ETES.enregistrementDeLaDemande.FAIT,
]
const { service, dateFin, etapes: fullEtapes } = setDateAndOrderAndInterpretMachine(axmOctMachine, '2020-01-01', etapes)
expect(service).canOnlyTransitionTo({ machine: axmOctMachine, date: dateFin }, [
......@@ -42,7 +47,7 @@ describe('vérifie l’arbre d’octroi d’AXM', () => {
expect(axmOctMachine.whoIsBlocking(fullEtapes)).toStrictEqual([ADMINISTRATION_IDS['DGTM - GUYANE']])
})
test('ne peut pas créer une "mdp" avec une "dae" requise', () => {
test('ne peut pas créer une "men" avec une "dae" requise', () => {
const { service, dateFin } = setDateAndOrderAndInterpretMachine(axmOctMachine, '2020-01-01', [
ETES.decisionDeLaMissionAutoriteEnvironnementale_ExamenAuCasParCasDuProjet_.REQUIS,
ETES.decisionDuProprietaireDuSol.FAVORABLE,
......@@ -62,7 +67,7 @@ describe('vérifie l’arbre d’octroi d’AXM', () => {
date: toCaminoDate('2020-01-01'),
},
{ ...ETES.demande.FAIT, date: toCaminoDate('2022-04-14') },
{ ...ETES.depotDeLaDemande.FAIT, date: toCaminoDate('2022-04-15') },
{ ...ETES.enregistrementDeLaDemande.FAIT, date: toCaminoDate('2022-04-15') },
{
...ETES.recevabiliteDeLaDemande.FAVORABLE,
date: toCaminoDate('2022-04-15'),
......@@ -96,7 +101,7 @@ describe('vérifie l’arbre d’octroi d’AXM', () => {
...ETES.decisionDuProprietaireDuSol.FAVORABLE,
date: toCaminoDate('2020-01-01'),
},
{ ...ETES.depotDeLaDemande.FAIT, date: toCaminoDate('2022-04-15') },
{ ...ETES.enregistrementDeLaDemande.FAIT, date: toCaminoDate('2022-04-15') },
{
...ETES.recevabiliteDeLaDemande.FAVORABLE,
date: toCaminoDate('2022-04-15'),
......@@ -163,7 +168,7 @@ describe('vérifie l’arbre d’octroi d’AXM', () => {
ETES.decisionDeLaMissionAutoriteEnvironnementale_ExamenAuCasParCasDuProjet_.EXEMPTE,
ETES.decisionDuProprietaireDuSol.FAVORABLE,
ETES.demande.FAIT,
ETES.depotDeLaDemande.FAIT,
ETES.enregistrementDeLaDemande.FAIT,
ETES.decisionImplicite.REJETE,
])
expect(service).canOnlyTransitionTo({ machine: axmOctMachine, date: dateFin }, ['RENDRE_DECISION_ANNULATION_PAR_JUGE_ADMINISTRATIF'])
......@@ -200,7 +205,7 @@ describe('vérifie l’arbre d’octroi d’AXM', () => {
...ETES.decisionDuProprietaireDuSol.FAVORABLE,
date: toCaminoDate('2020-01-01'),
},
{ ...ETES.depotDeLaDemande.FAIT, date: toCaminoDate('2022-04-11') },
{ ...ETES.enregistrementDeLaDemande.FAIT, date: toCaminoDate('2022-04-11') },
{
...ETES.demandeDeComplements_RecevabiliteDeLaDemande_.FAIT,
date: toCaminoDate('2022-04-11'),
......@@ -273,7 +278,7 @@ describe('vérifie l’arbre d’octroi d’AXM', () => {
...ETES.decisionDuProprietaireDuSol.FAVORABLE,
date: toCaminoDate('2020-01-01'),
},
{ ...ETES.depotDeLaDemande.FAIT, date: toCaminoDate('2022-04-11') },
{ ...ETES.enregistrementDeLaDemande.FAIT, date: toCaminoDate('2022-04-11') },
{
...ETES.recevabiliteDeLaDemande.FAVORABLE,
date: toCaminoDate('2022-04-15'),
......