-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* update Pays Basque Adour (946) description * update Cannes (1018) * add PETR Lunevillois S1 2023 campaign
- Loading branch information
1 parent
3d7e0d7
commit 4ab52aa
Showing
7 changed files
with
375 additions
and
99 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,28 +1,33 @@ | ||
export const description = `<p _ngcontent-pmm-c231="" id="summary" class="campaignSummaryText-content-text"> | ||
<p>Campagne d’incitation au covoiturage du <b> 01 janvier 2024 au 30 avril 2024</b> | ||
</p> | ||
<p>Cette campagne est limitée à | ||
<b>50 896,48 euros </b>. | ||
</p> | ||
<p> | ||
Le périmètre géographique de la campagne comprend les zones suivantes | ||
</p> | ||
<ul> | ||
<li>Communauté d'agglomération Cannes Pays de Lérins</li> | ||
</ul> | ||
<p>Les <b> conducteurs </b> effectuant un trajet entre 2 km et 80 km, | ||
avec pour origine OU destination le périmètre ci-dessus, | ||
sont incités selon les règles suivantes : </p> | ||
<ul> | ||
<li><b>De 2 à 15 km : 1.5 euros par trajet par passager transporté.</b></li> | ||
<li><b>De 15 à 30 km : 0.1 euros par km par passager transporté.</b></li> | ||
</ul> | ||
<p>Les restrictions suivantes seront appliquées :</p> | ||
<ul> | ||
<li><b>150 € maximum pour le conducteur par mois.</b></li> | ||
<li><b>6 trajets maximum pour le conducteur par jour.</b></li> | ||
</ul> | ||
<p>La campagne est limitée aux opérateurs <b>Klaxit</b> | ||
proposant des preuves de classe <b>B ou C</b>.</p> | ||
<p></p> | ||
</p>`; | ||
export const description = `<div _ngcontent-pmm-c231="" id="summary" class="campaignSummaryText-content-text"> | ||
<p>Campagne d’incitation au covoiturage du <b> 01 janvier 2024 au 30 avril 2024</b></p> | ||
<p>Cette campagne est limitée à <b>50 896,48 euros </b>.</p> | ||
<p> Le périmètre géographique de la campagne comprend les zones suivantes :</p> | ||
<ul> | ||
<li>Communauté d'agglomération Cannes Pays de Lérins</li> | ||
</ul> | ||
<p> | ||
Les <b> conducteurs </b> effectuant un trajet entre 2 km et 80 km, | ||
avec pour origine OU destination le périmètre ci-dessus, | ||
sont incités selon les règles suivantes : | ||
</p> | ||
<ul> | ||
<li><b>De 2 à 15 km : 1.5 euros par trajet par passager transporté.</b></li> | ||
<li><b>De 15 à 30 km : 0.1 euros par km par passager transporté.</b></li> | ||
</ul> | ||
<p>Les restrictions suivantes seront appliquées :</p> | ||
<ul> | ||
<li><b>150 € maximum pour le conducteur par mois.</b></li> | ||
<li><b>6 trajets maximum pour le conducteur par jour.</b></li> | ||
</ul> | ||
<p>La campagne est limitée à l'opérateur <b>Klaxit</b> proposant des preuves de classes <b>B ou C</b>.</p> | ||
</div>`; |
61 changes: 32 additions & 29 deletions
61
api/services/policy/src/engine/policies/PaysBasque.html.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,29 +1,32 @@ | ||
export const description = `<p _ngcontent-pmm-c231="" id="summary" class="campaignSummaryText-content-text"> | ||
<p>Campagne d’incitation au covoiturage du <b> 1 avril 2023 au 31 décembre 2023</b>, toute la semaine | ||
</p> | ||
<p>Cette campagne est limitée à | ||
<b>185 000 euros </b>. | ||
</p> | ||
<p>Les trajets de + de 80km sont exclus à partir du 1er janvier 2024</p> | ||
<p>Les <b> conducteurs et passagers </b> effectuant un trajet d'au moins 5 km sont incités selon les règles suivantes : | ||
</p> | ||
<ul> | ||
<li><b>De 5 à 20 km : 2 euros par trajet par passager </b></li> | ||
<li><b>De 20 à 30 km : 0.1 euro par trajet par km par passager </b></li> | ||
</ul> | ||
<p>Les <b> passagers </b> effectuant un trajet d'au moins 5 km sont incités selon les règles suivantes : | ||
</p> | ||
<ul> | ||
<li><b>Les trajets sont gratuits s’il a une origine ou une destination sur le territoire du | ||
Pays Basque Adour</b></li> (la contrepartie n'est pas prise en compte par le RPC) | ||
</ul> | ||
<p>Les restrictions suivantes seront appliquées :</p> | ||
<ul> | ||
<li><b>6 trajets maximum pour le conducteur par jour.</b></li> | ||
<li><b>150 euros maximum pour le conducteur par mois.</b></li> | ||
</ul> | ||
<p>La campagne est limitée à aux opérateurs Klaxit, Karos, Blablacar Daily, | ||
Mobicoop proposant des preuves de classe <b>C</b>.</p> | ||
*Mobicoop ne fait plus parti des opérateurs éligibles depuis le 1 Janvier 2024 | ||
<p></p> | ||
</p>`; | ||
/* eslint-disable */ | ||
|
||
export const description = `<div _ngcontent-pmm-c231="" id="summary" class="campaignSummaryText-content-text"> | ||
<p>Campagne d'incitation au covoiturage du <b> 1 avril 2023 au 31 décembre 2024</b>, toute la semaine</p> | ||
<p>Cette campagne est limitée à <b>185 000 euros</b>.</p> | ||
<p>Les trajets de + de 80km sont exclus à partir du 1er janvier 2024</p> | ||
<p>Les <b> conducteurs et passagers </b> effectuant un trajet d'au moins 5 km sont incités selon les règles suivantes :</p> | ||
<ul> | ||
<li><b>De 5 à 20 km : 2 euros par trajet par passager </b></li> | ||
<li><b>De 20 à 30 km : 0.1 euro par trajet par km par passager </b></li> | ||
</ul> | ||
<p>Les <b> passagers </b> effectuant un trajet d'au moins 5 km sont incités selon les règles suivantes :</p> | ||
<ul> | ||
<li><b>Les trajets sont gratuits s'il a une origine ou une destination sur le territoire du | ||
Pays Basque Adour</b></li> (la contrepartie n'est pas prise en compte par le RPC) | ||
</ul> | ||
<p>Les restrictions suivantes seront appliquées :</p> | ||
<ul> | ||
<li><b>6 trajets maximum pour le conducteur par jour.</b></li> | ||
<li><b>150 euros maximum pour le conducteur par mois.</b></li> | ||
</ul> | ||
<p>La campagne est limitée à aux opérateurs Klaxit, Karos et Blablacar Daily proposant des preuves de classe <b>C</b>.</p> | ||
<p><em>Mobicoop ne fait plus partie des opérateurs éligibles depuis le 1 Janvier 2024</em></p> | ||
</div>`; |
22 changes: 22 additions & 0 deletions
22
api/services/policy/src/engine/policies/PetrLunevilloisS12023.html.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
/* eslint-disable */ | ||
|
||
export const description = `<div _ngcontent-pmm-c231="" id="summary" class="campaignSummaryText-content-text"> | ||
<p>Campagne d'incitation au covoiturage du <b> 8 janvier 2024 au 7 juin 2024</b>, toute la semaine</p> | ||
<p>Cette campagne est limitée à <b>10 000 euros</b>.</p> | ||
<p>Les <b> conducteurs </b> effectuant un trajet en covoiturage d'au moins 2 km sont incités selon les règles suivantes :</p> | ||
<ul> | ||
<li><b>De 2 à 60 km : 7 centimes d'euro par km et par trajet par passager transporté</b></li> | ||
</ul> | ||
<p>Les restrictions suivantes seront appliquées :</p> | ||
<ul> | ||
<li><b>2 trajets maximum pour le conducteur par jour.</b></li> | ||
</ul> | ||
<p>La campagne est limitée à l'opérateur Mobicoop proposant des preuves de classe <b>C</b>.</p> | ||
</div>`; |
162 changes: 162 additions & 0 deletions
162
api/services/policy/src/engine/policies/PetrLunevilloisS12023.spec.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,162 @@ | ||
import test from 'ava'; | ||
import { v4 } from 'uuid'; | ||
import { OperatorsEnum } from '../../interfaces'; | ||
import { makeProcessHelper } from '../tests/macro'; | ||
import { PetrLunevilloisS12023 as Handler } from './PetrLunevilloisS12023'; | ||
|
||
const defaultPosition = { | ||
arr: '54233', | ||
com: '54233', | ||
aom: '200051134', | ||
epci: '200069433', | ||
dep: '54', | ||
reg: '44', | ||
country: 'XXXXX', | ||
reseau: '269', | ||
}; | ||
const defaultLat = 48.5905360901711; | ||
const defaultLon = 6.499392987670189; | ||
|
||
const defaultCarpool = { | ||
_id: 1, | ||
trip_id: v4(), | ||
passenger_identity_uuid: v4(), | ||
driver_identity_uuid: v4(), | ||
operator_siret: OperatorsEnum.Mobicoop, | ||
operator_class: 'C', | ||
passenger_is_over_18: true, | ||
passenger_has_travel_pass: true, | ||
driver_has_travel_pass: true, | ||
datetime: new Date('2023-02-01'), | ||
seats: 1, | ||
duration: 600, | ||
distance: 5_000, | ||
cost: 20, | ||
driver_payment: 20, | ||
passenger_payment: 20, | ||
start: { ...defaultPosition }, | ||
end: { ...defaultPosition }, | ||
start_lat: defaultLat, | ||
start_lon: defaultLon, | ||
end_lat: 48.58685290576798, | ||
end_lon: 6.483696700766759, | ||
}; | ||
|
||
const process = makeProcessHelper(defaultCarpool); | ||
|
||
test( | ||
'should work with exclusions', | ||
process, | ||
{ | ||
policy: { handler: Handler.id }, | ||
carpool: [ | ||
{ operator_siret: 'not in list' }, | ||
{ operator_siret: OperatorsEnum.Klaxit }, | ||
{ distance: 100 }, | ||
{ distance: 60_000 }, | ||
{ operator_class: 'A' }, | ||
], | ||
meta: [], | ||
}, | ||
{ incentive: [0, 0, 0, 0, 0], meta: [] }, | ||
); | ||
|
||
test( | ||
'should work basic with start/end inside aom', | ||
process, | ||
{ | ||
policy: { handler: Handler.id }, | ||
carpool: [ | ||
{ distance: 5_000, driver_identity_uuid: 'one' }, | ||
{ distance: 5_000, seats: 2, driver_identity_uuid: 'one' }, | ||
{ distance: 25_000, driver_identity_uuid: 'two' }, | ||
{ distance: 25_000, seats: 2, driver_identity_uuid: 'two' }, | ||
], | ||
meta: [], | ||
}, | ||
{ | ||
incentive: [21, 42, 161, 322], | ||
meta: [ | ||
{ | ||
key: 'max_amount_restriction.global.campaign.global', | ||
value: 546, | ||
}, | ||
], | ||
}, | ||
); | ||
|
||
test( | ||
'should work basic with start or end outside aom', | ||
process, | ||
{ | ||
policy: { handler: Handler.id }, | ||
carpool: [ | ||
// start | ||
{ distance: 5_000, driver_identity_uuid: 'one', start: { ...defaultPosition, aom: 'not_in_aom' } }, | ||
{ distance: 5_000, seats: 2, driver_identity_uuid: 'one', start: { ...defaultPosition, aom: 'not_in_aom' } }, | ||
{ distance: 25_000, driver_identity_uuid: 'two', start: { ...defaultPosition, aom: 'not_in_aom' } }, | ||
{ distance: 25_000, seats: 2, driver_identity_uuid: 'two', start: { ...defaultPosition, aom: 'not_in_aom' } }, | ||
{ distance: 55_000, driver_identity_uuid: 'two', start: { ...defaultPosition, aom: 'not_in_aom' } }, | ||
|
||
// end | ||
{ distance: 5_000, driver_identity_uuid: 'one', end: { ...defaultPosition, aom: 'not_in_aom' } }, | ||
{ distance: 5_000, seats: 2, driver_identity_uuid: 'one', end: { ...defaultPosition, aom: 'not_in_aom' } }, | ||
{ distance: 25_000, driver_identity_uuid: 'two', end: { ...defaultPosition, aom: 'not_in_aom' } }, | ||
{ distance: 25_000, seats: 2, driver_identity_uuid: 'two', end: { ...defaultPosition, aom: 'not_in_aom' } }, | ||
{ distance: 55_000, driver_identity_uuid: 'two', end: { ...defaultPosition, aom: 'not_in_aom' } }, | ||
], | ||
meta: [], | ||
}, | ||
{ | ||
incentive: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], | ||
meta: [], | ||
}, | ||
); | ||
|
||
test( | ||
'should work with global limits', | ||
process, | ||
{ | ||
policy: { handler: Handler.id, max_amount: 10_000_00 }, | ||
carpool: [{ distance: 59_000, driver_identity_uuid: 'one' }], | ||
meta: [ | ||
{ | ||
key: 'max_amount_restriction.global.campaign.global', | ||
value: 9_999_99, | ||
}, | ||
], | ||
}, | ||
{ | ||
incentive: [1], // <-- should be 413. capped to 1 | ||
meta: [ | ||
{ | ||
key: 'max_amount_restriction.global.campaign.global', | ||
value: 10_000_00, | ||
}, | ||
], | ||
}, | ||
); | ||
|
||
test( | ||
'should work with 2 trips per day limit', | ||
process, | ||
{ | ||
policy: { handler: Handler.id }, | ||
carpool: [ | ||
{ distance: 5_000, driver_identity_uuid: 'one' }, | ||
{ distance: 5_000, driver_identity_uuid: 'one' }, | ||
{ distance: 5_000, driver_identity_uuid: 'one' }, | ||
{ distance: 5_000, driver_identity_uuid: 'one' }, | ||
], | ||
meta: [], | ||
}, | ||
{ | ||
incentive: [21, 21, 0, 0], | ||
meta: [ | ||
{ | ||
key: 'max_amount_restriction.global.campaign.global', | ||
value: 42, | ||
}, | ||
], | ||
}, | ||
); |
Oops, something went wrong.