I am completely baffled why assert.approximately doesn't work

it’s metric to imperial project, i did it, was filling tests in the boilerplate and this test simply never passes unless i check for assert.equal changing expected to 18.92705
i also tried assert.closeto to no avail. maybe it’s something simple again but i have no idea what, chai asserts are required…

test('Gal to L', function(done) {
  const input = [5, 'gal'];
  const expected = 18.9271;
  //console.log(convertHandler.convert(input[0], input[1])) //returns 18.92705
  assert.approximately(convertHandler.convert(input[0],input[1]),expected,0.1); //0.1 tolerance
  done();
});

What type of variable function convertHandler.convert(input[0], input[1]) produce?

well, thanks, it returned float but apparently it being rounded with toFixed messed with the tests

it would be so easier if we could see the error messages

string, num, boolean?

i made it pass all the tests, this mistake was because toFixed() made my float into a string while i believed it was still a float -_-
i also realized how to get the proper error messages, by default the boilerplate doesn’t give them because the incomplete tests stop the testing so commenting them out gives you all the info you need in the console