Mi código funciona pero no aprueba los test

Cuéntanos qué está pasando:
Realicé el ejercicio con recursividad, es la segunda vez que al usar recursividad no aprueba los test.

El código:

let romanNumbers = {
  1000: 'M',
  900: 	'CM',
  500: 	'D',
  400: 	'CD',
  100: 	'C',
  90: 	'XC',
  50: 	'L',
  40: 	'XL',
  10: 	'X',
  9:		'IX',
  5: 		'V',
  4: 		'IV',
  1:		'I'
}


let keys = Object.keys(romanNumbers)
let result = ''

function convertToRoman(num) {
  
  if (romanNumbers.hasOwnProperty(num)) {
    return result = result + romanNumbers[num]
  }

  for (let i = keys.length; i >= 0; i--) {

    if (num >= keys[i]) {
      let actual = Math.floor(num / keys[i]) 
      let posterior = num % keys[i]  

      for (let j = 0; j < actual; j++) {
        result = result + romanNumbers[keys[i]]
      }
      convertToRoman(posterior)
      break
    }  
  }

  return result
}
 
let a = convertToRoman(1);
console.log(a);

**Información de tu navegador:Brave

Desafío: Conversor de números romanos

Enlaza al desafío:

Es probable que, una llamada a la función equivale a una nueva prueba.
Así que si un número requiere 3 recursiones para resolverse, lo cuente como 3 pruebas deferentes.