message: Remove display of dev hours on individual polysite projects and fix "total additional hours"
diff: @@ -299,7 +299,6 @@ export const devCost = ({ currency, projects }: IBillingGroup) => {
  const polySiteGroups = (Math.max(Math.round(projects.length / 10), 1));
  const polySiteIncludedHours = polySiteGroups * (averageProdHours * 2);
  - const polyReducerFn = (acc, project) => ({
  // Poly Sites get two free dev environments per lot of 10 polysite groups
  // See IDGSDF in BillingCalculations.test.ts
  // EXAMPLE: 8 projects w/ 720 hours each dev site :
  @@ -307,22 +306,37 @@ export const devCost = ({ currency, projects }: IBillingGroup) => {
  // Included free hours = (1 x (720 x 2)) -> 1440
  // Dev Site Per Hour Cost = 0.0139
  // (5760 - 1440) * 0.0139 = 60.05
  - cost: ((acc.quantity + project.devHours) - polySiteIncludedHours) * devSitePerHour,
  + const polyReducerFn = (acc, project) => {
  + const totalDevHours = acc.totalDevHours + project.devHours;
  + const quantity = totalDevHours - polySiteIncludedHours;
  +
  + return {
  + totalDevHours,
  + quantity,
  + cost: quantity * devSitePerHour,
  description: [
  ...acc.description,
  {
  name: project.name,
  hours: project.devHours,
  - included: 0,
  - additional: project.devHours
  + included: 'N/A',
  + additional: 'N/A'
  }
  - ],
  - quantity: acc.quantity + project.devHours
  - });
  + ]
  + };
  + };
  - const reducerFn = availability === AVAILABILITY.POLYSITE ? polyReducerFn : standardHighReducerFn;
  + const reducerFn =
  + availability === AVAILABILITY.POLYSITE
  + ? polyReducerFn
  + : standardHighReducerFn;
  - const {cost, description, quantity} = projects.reduce(reducerFn, { cost: 0, description: [], quantity: 0});
  + const { cost, description, quantity } = projects.reduce(reducerFn, {
  + totalDevHours: 0,
  + quantity: 0,
  + cost: 0,
  + description: []
  + });
  return {
  cost: Number(cost.toFixed(2)),
  