Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into fix/site/cookie-loading
Browse files Browse the repository at this point in the history
  • Loading branch information
farnoux committed Oct 21, 2024
2 parents 36cbb5d + ebf0d63 commit 3f73041
Show file tree
Hide file tree
Showing 9 changed files with 1,161 additions and 1,278 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ from (
WHERE iri.collectivite_id = ($1).collectivite_id
AND iri.metadonnee_id is not null
AND iri.resultat is not null
AND src.id in ('rare', 'citepa')
AND src.id in ('citepa')
AND id.identifiant_referentiel::text = ANY (
ARRAY [
'cae_1.g'::character varying,
Expand Down
35 changes: 35 additions & 0 deletions data_layer/sqitch/deploy/indicateur/[email protected]
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
-- Deploy tet:indicateur/indicateurs_gaz_effet_serre to pg
BEGIN;
DROP function public.indicateurs_gaz_effet_serre(site_labellisation);
create function public.indicateurs_gaz_effet_serre(site_labellisation) returns jsonb security definer language sql BEGIN ATOMIC
SELECT to_jsonb(array_agg(d))
from (
SELECT iri.date_valeur,
iri.resultat,
id.identifiant_referentiel as identifiant,
src.libelle as source
FROM indicateur_valeur iri
JOIN indicateur_definition id on iri.indicateur_id = id.id
JOIN indicateur_source_metadonnee ism on ism.id = iri.metadonnee_id
JOIN indicateur_source src on src.id = ism.source_id
WHERE iri.collectivite_id = ($1).collectivite_id
AND iri.metadonnee_id is not null
AND iri.resultat is not null
AND src.id in ('rare', 'citepa')
AND id.identifiant_referentiel::text = ANY (
ARRAY [
'cae_1.g'::character varying,
'cae_1.f'::character varying,
'cae_1.h'::character varying,
'cae_1.j'::character varying,
'cae_1.i'::character varying,
'cae_1.c'::character varying,
'cae_1.e'::character varying,
'cae_1.d'::character varying,
'cae_1.a'::character varying
]::text []
)
) d;
END;
comment on function indicateurs_gaz_effet_serre(site_labellisation) is 'Indicateurs gaz à effet de serre.';
COMMIT;
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
-- Deploy tet:indicateur/indicateurs_gaz_effet_serre to pg
BEGIN;
DROP function public.indicateurs_gaz_effet_serre(site_labellisation);
create or replace function public.indicateurs_gaz_effet_serre(site_labellisation) returns jsonb security definer language sql BEGIN ATOMIC
create function public.indicateurs_gaz_effet_serre(site_labellisation) returns jsonb security definer language sql BEGIN ATOMIC
SELECT to_jsonb(array_agg(d))
from (
SELECT iri.date_valeur,
Expand All @@ -14,6 +14,8 @@ from (
JOIN indicateur_source src on src.id = ism.source_id
WHERE iri.collectivite_id = ($1).collectivite_id
AND iri.metadonnee_id is not null
AND iri.resultat is not null
AND src.id in ('rare', 'citepa')
AND id.identifiant_referentiel::text = ANY (
ARRAY [
'cae_1.g'::character varying,
Expand Down
33 changes: 33 additions & 0 deletions data_layer/sqitch/revert/indicateur/[email protected]
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
-- Deploy tet:indicateur/indicateurs_gaz_effet_serre to pg
BEGIN;
DROP function public.indicateurs_gaz_effet_serre(site_labellisation);
create or replace function public.indicateurs_gaz_effet_serre(site_labellisation) returns jsonb security definer language sql BEGIN ATOMIC
SELECT to_jsonb(array_agg(d))
from (
SELECT iri.date_valeur,
iri.resultat,
id.identifiant_referentiel as identifiant,
src.libelle as source
FROM indicateur_valeur iri
JOIN indicateur_definition id on iri.indicateur_id = id.id
JOIN indicateur_source_metadonnee ism on ism.id = iri.metadonnee_id
JOIN indicateur_source src on src.id = ism.source_id
WHERE iri.collectivite_id = ($1).collectivite_id
AND iri.metadonnee_id is not null
AND id.identifiant_referentiel::text = ANY (
ARRAY [
'cae_1.g'::character varying,
'cae_1.f'::character varying,
'cae_1.h'::character varying,
'cae_1.j'::character varying,
'cae_1.i'::character varying,
'cae_1.c'::character varying,
'cae_1.e'::character varying,
'cae_1.d'::character varying,
'cae_1.a'::character varying
]::text []
)
) d;
END;
comment on function indicateurs_gaz_effet_serre(site_labellisation) is 'Indicateurs gaz à effet de serre.';
COMMIT;
3 changes: 3 additions & 0 deletions data_layer/sqitch/sqitch.plan
Original file line number Diff line number Diff line change
Expand Up @@ -735,3 +735,6 @@ cron/refresh_stats_views_locales [cron/[email protected]] 2024
plan_action/plan_action [plan_action/[email protected]] 2024-09-25T11:24:37Z System Administrator <[email protected]> # Ajout de statuts pour les fiches action
@v4.16.0 2024-10-16T14:16:21Z Frederic Arnoux <[email protected]> # Tag en v4.16.0

indicateur/indicateurs_gaz_effet_serre [indicateur/[email protected]] 2024-10-16T16:41:31Z System Administrator <[email protected]> # uniquement donnees citepa pour la page publique
@v4.17.0 2024-10-16T17:05:46Z System Administrator <[email protected]> # uniquement donnees citepa pour la page publique

7 changes: 7 additions & 0 deletions data_layer/sqitch/verify/indicateur/[email protected]
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
-- Verify tet:indicateur/indicateurs_gaz_effet_serre on pg

BEGIN;

-- XXX Add verifications here.

ROLLBACK;
54 changes: 45 additions & 9 deletions e2e/cypress/integration/common/inbucket.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,49 @@ const mailbox = name =>
cy.request(`${INBUCKET_API}/mailbox/${name}`).then(handleResponse);
const message = (name, id) =>
cy.request(`${INBUCKET_API}/mailbox/${name}/${id}`).then(handleResponse);
const getLastMessage = (name) => {
cy.wait(2000);
return mailbox(name)
.then((inbox) => inbox[inbox.length - 1].id)
.then((messageId) => message(name, messageId));

const MAX_RETRIES = 4;
const RETRY_BASE_DELAY_MS = 1000; // attends num_essai * ce délai entre chaque essai

// récupère le dernier message d'une mailbox (ré-essaye plusieurs fois en cas d'échec)
const getLastMessage = (name, retry = 0) => {
return mailbox(name).then((inbox) => {
if (inbox.length >= 1) {
const messageId = inbox[inbox.length - 1].id;
return message(name, messageId);
}
if (inbox.length < 1 && retry < MAX_RETRIES) {
const r = retry + 1;
const delay = r * RETRY_BASE_DELAY_MS;
cy.log(`retry ${r}/${MAX_RETRIES} getLastMessage into ${delay}ms`);
cy.wait(delay);
return getLastMessage(name, r);
}
assert(
inbox.length >= 1,
`la mailbox de ${name} contient au moins 1 message`
);
});
};

// vérifie le nombre de messages d'une mailbox et ré-essaye plusieurs fois d'obtenir le résultat attendu
const assertMessageCount = (name, count, retry = 0) => {
return mailbox(name).then((inbox) => {
if (inbox.length < count && retry < MAX_RETRIES) {
const r = retry + 1;
const delay = r * RETRY_BASE_DELAY_MS;
cy.log(`retry ${r}/${MAX_RETRIES} assertMessageCount into ${delay}ms`);
cy.wait(delay);
assertMessageCount(name, count, r);
} else {
assert(
inbox.length >= count,
`la mailbox de ${name} contient ${count} message(s)`
);
}
});
};

const getOTPFromMessage = (message) => {
const parser = new DOMParser();
const doc = parser.parseFromString(message.body.html, 'text/html');
Expand All @@ -29,10 +66,9 @@ When('la mailbox de {string} est vidée', (nom) => {
purgeMailbox(nom);
});

When('la mailbox de {string} contient {int} message(s)', (name, count) => {
cy.wait(2000);
mailbox(name).then((inbox) => cy.wrap(inbox.length).should('eq', count));
});
When('la mailbox de {string} contient {int} message(s)', (name, count) =>
assertMessageCount(name, count)
);

When(
'le dernier message dans la mailbox de {string} contient le texte {string}',
Expand Down
32 changes: 16 additions & 16 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -113,20 +113,20 @@
"@nestjs/cli": "^10.4.5",
"@nestjs/schematics": "^10.1.4",
"@nestjs/testing": "^10.4.4",
"@nx/devkit": "19.5.4",
"@nx/eslint": "19.5.4",
"@nx/eslint-plugin": "19.5.4",
"@nx/js": "19.5.4",
"@nx/nest": "19.5.4",
"@nx/next": "19.5.4",
"@nx/node": "19.5.4",
"@nx/playwright": "19.5.4",
"@nx/react": "19.5.4",
"@nx/storybook": "^19.5.4",
"@nx/vite": "19.5.4",
"@nx/web": "19.5.4",
"@nx/webpack": "19.5.4",
"@nx/workspace": "19.5.4",
"@nx/devkit": "20.0.1",
"@nx/eslint": "20.0.1",
"@nx/eslint-plugin": "20.0.1",
"@nx/js": "20.0.1",
"@nx/nest": "20.0.1",
"@nx/next": "20.0.1",
"@nx/node": "20.0.1",
"@nx/playwright": "20.0.1",
"@nx/react": "20.0.1",
"@nx/storybook": "20.0.1",
"@nx/vite": "20.0.1",
"@nx/web": "20.0.1",
"@nx/webpack": "20.0.1",
"@nx/workspace": "20.0.1",
"@playwright/test": "^1.36.0",
"@storybook/addon-actions": "^8.3.5",
"@storybook/addon-essentials": "^8.3.5",
Expand Down Expand Up @@ -172,13 +172,13 @@
"eslint": "~8.57.0",
"eslint-config-next": "^14.2.3",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-import": "2.27.5",
"eslint-plugin-import": "2.31.0",
"eslint-plugin-jsx-a11y": "6.7.1",
"eslint-plugin-playwright": "^0.15.3",
"eslint-plugin-react": "7.32.2",
"eslint-plugin-react-hooks": "4.6.0",
"eslint-plugin-storybook": "^0.6.13",
"nx": "19.5.4",
"nx": "20.0.1",
"postcss": "^8.4.16",
"postcss-loader": "^8.1.1",
"prettier": "^2.6.2",
Expand Down
Loading

0 comments on commit 3f73041

Please sign in to comment.