Basic Javascript: Record Collection (Issues!)

Tell us what’s happening:
I’m confused as to why this code doesn’t work. I followed the steps carefully.

Your code so far

// Setup
var collection = {
2548: {
  album: "Slippery When Wet",
  artist: "Bon Jovi",
  tracks: [
    "Let It Rock",
    "You Give Love a Bad Name"
  ]
},
2468: {
  album: "1999",
  artist: "Prince",
  tracks: [
    "1999",
    "Little Red Corvette"
  ]
},
1245: {
  artist: "Robert Palmer",
  tracks: [ ]
},
5439: {
  album: "ABBA Gold"
}
};

// Only change code below this line
function updateRecords(id, prop, value) {
 if (prop !== "tracks" && value !== "") {
   collection[id][prop] = value;
 } else if (prop === "tracks" && collection[id][prop] === undefined) {
   collection[id][prop] = [];
 } else if (prop === "tracks" && value === ""){
   tracks.push(value);
 } else if (value === "") {
   delete collection[id][prop];
 }

return collection;
}

// Alter values below to test your code
updateRecords(5439, "artist", "ABBA");

Your browser information:

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

Challenge: Record Collection

Link to the challenge:
https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/basic-javascript/record-collection

only one of the statements in an if/else if/else, particularly the first one that is true

if the tracks property is not defined you are just setting it an empty array and nothing else.

but if tracks is already defined you do something with it only if also value === ""

maybe you want to review your steps?

see what tests do not pass, consider what should happen, and then read your code line by line - what is it that is happening instead?