There is an issue with the tests for this challenge. It’s not really a bug, but if you don’t follow the specs exactly it will get you. The same thing happened to me.
The penultimate sentence of the description says “the enqueue method should return the item you enqueued if it is successful.” I didn’t do this and the first four tests don’t check this. You didn’t do this too. However, the last test that your code is failing is series of enqueue() and dequeue() calls with checks on the return values, all anded together. The next to the last one is test.enqueue(100) === 100, and since your enqueue() method returns undefined it fails this last dequeue() test. So if you fix your return on enqueue(), it looks like your code will pass the tests.
To avoid this problem, there really needs to be a sixth test that explicitly (and only) checks the return value of the enqueue() method.