Here's some really bad code! It is (intentionally) bad, with lots of duplicated/copied and pasted code, improper use of method/classes, bad naming of variables and methods, etc. The only good thing about this code is the tests, which will help guide you through the exercise and ensure that the interface/functionality of the code remains intact with your refactor.
Feel free to create new classes, helper methods, etc as you see fit. Feel free to split things into new files and folders as you like, but keeping everything in one file is fine too. Don't worry about editing/refactoring tests, they are just there to guide you and we don't expect you to spend time working on them.
You have 45 minutes to complete this exercise. You are not expected to have enough time to make all of the changes you would like. Part of the exercise is the time constraint: you have to prioritize what you think will be the most beneficial refactor, and weigh it with how much time it will take you.