Build a Cargo Manifest Validator - Build a Cargo Manifest Validator

Tell us what’s happening:

the test 15 doesn’t pass

function normalizeUnits(manifest){
let copy = {
containerId: manifest.containerId,
destination: manifest.destination,
weight: manifest.unit === “kg” ? manifest.weight : Number(parseFloat(manifest.weight * 0.45)),
unit: “kg”,
hazmat: manifest.hazmat,

}

return copy
}

function validateManifest(manifest){
let validatedManifest ={}
if (manifest.containerId === undefined) {
validatedManifest.containerId = “Missing”
} else if (typeof

Your code so far




  function normalizeUnits(manifest){
  let copy = {
   containerId: manifest.containerId, 
   destination: manifest.destination, 
   weight:  manifest.unit === "kg" ? manifest.weight : Number(parseFloat(manifest.weight * 0.45)), 
   unit: "kg", 
   hazmat: manifest.hazmat,
  
}

return copy
}


function validateManifest(manifest){
  let  validatedManifest ={}
 if (manifest.containerId === undefined) {
    validatedManifest.containerId = "Missing"
  } else if (typeof(manifest.containerId) !== "number" || !Number.isInteger(manifest.containerId) || manifest.containerId <= 0) {
    validatedManifest.containerId = "Invalid"
  };
  if (manifest.destination === undefined) {
    validatedManifest.destination = "Missing"
  } else if (typeof(manifest.destination) !== "string" || (manifest.destination).trim() === "") {
    validatedManifest.destination = "Invalid"
  };
  if (manifest.weight === undefined) {
    validatedManifest.weight = "Missing"
  } else if (typeof(manifest.weight) !== "number" || manifest.weight < 0 || Number.isNaN(manifest.weight)) {
    validatedManifest.weight = "Invalid"
  };
  if (manifest.unit === undefined) {
    validatedManifest.unit = "Missing"
  } else if (manifest.unit !== "lb") {
    if (manifest.unit !== "kg") {
      validatedManifest.unit = "Invalid"
    }
  };
  if (manifest.hazmat === undefined) {
    validatedManifest.hazmat = "Missing"
  } else if (typeof(manifest.hazmat) !== "boolean") {
    validatedManifest.hazmat = "Invalid"
  };
  return  validatedManifest
}
 

 function processManifest(manifest) {
   const normalizedManifest = normalizeUnits(manifest);
  const validatedManifest = validateManifest(manifest);

 if (Object.keys(validatedManifest).length === 0) {
    console.log(`Validation success: ${manifest.containerId}`)
    console.log(`Total weight: ${normalizedManifest.weight} kg`)
  }
  else {
    console.log(`Validation error: ${manifest.containerId}`);
    console.log(validatedManifest);
  }


 }

 processManifest({ containerId: 55, destination: "Carmel", weight: 400, unit: "lb", hazmat: false });


Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36

Challenge Information:

Build a Cargo Manifest Validator - Build a Cargo Manifest Validator

GitHub Link: freeCodeCamp/curriculum/challenges/english/blocks/lab-cargo-manifest-validator/69a56b5069ca99f7317e6e19.md at main · freeCodeCamp/freeCodeCamp · GitHub

Welcome to the forum @zhrtm6856,

Can weight be zero?

Happy coding