Mi codigo cumple los requerimientos pero no me lo acepta esta bien?

Porque si mi codigo cumple las condiciones ya lo he probado con vsc cuando lo corro en la pag de freecodecamp me dice que no las cumple??

  **Tu código hasta el momento**

// Configuración
const recordCollection = {
2548: {
  albumTitle: 'Slippery When Wet',
  artist: 'Bon Jovi',
  tracks: ['Let It Rock', 'You Give Love a Bad Name']
},
2468: {
  albumTitle: '1999',
  artist: 'Prince',
  tracks: ['1999', 'Little Red Corvette']
},
1245: {
  artist: 'Robert Palmer',
  tracks: []
},
5439: {
  albumTitle: 'ABBA Gold'
}
};

// Cambia solo el código debajo de esta línea
function updateRecords(records, id, prop, value) {   
if (prop === "tracks" && value != ""){
  if(records[id][prop] === undefined){
      records[id][prop] = []
      records[id][prop].push(value)
  }else{
      records[id][prop].push(value)
  };
}
else if( prop != "" && value != ""){

records[id][prop]= value

}else if (value === ""){
  delete records[id][prop]
};
};


  **Información de tu navegador:**

El agente de usuario es: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36

Desafío: Colección de discos

Enlaza al desafío:

Your code does not meet the requirements.

  • Tu función siempre debe devolver el objeto de colección de registros completo.

function updateRecords(records, id, prop, value) {
if(prop !== “tracks” && value !== “”) {
records[id][prop] = value
} else if(prop == “tracks” && records[id].hasOwnProperty(“tracks”) == false) {
records[id][prop] =
records[id][prop].push(value)
} else if(prop == “tracks” && value !== “”){
records[id][prop].push(value)
} else if(value == “”) {
delete records[id][prop]
}

return records;
}

updateRecords(recordCollection, 5439, ‘artist’, ‘ABBA’);