Cake O'clock project is given as a lesson too early in the process

I am on the old Web Developer career path and have reached the Testing category of lessons. One of the first things given is a project called Cake O’clock. It asks the student to start writing code that hasn’t been taught at all up to that point. Very confusing and frustrating.
I noticed that it is also one of the first things given in the ‘Learn JavaScript Unit Testing’ modules outside of the career path I am on.
In order to move forward, I skipped the project and went straight through the ‘Write good tests with Mocha’ and ‘Learn test-driven development with Mocha’. These are the lessons that a student should start with.
The ‘Why Test’ module should not even have a project included at all, since it teaches no Mocha coding lessons. The Project could go at the end of the last module of TDD.

Just thought I’d mention it to keep other students from getting overwhelmed with this module structure.
Great website, though. Thoroughly enjoying my journey to learn Web Development!

I’ve noticed this as well. I ended up taking a gander at the Test Driven Development project video and it assumes that we already know chai. Not sure if this was an intentional thing for them to do.

i’ll take your advice and skip this section and go straight to “Write good test with Mocha”

Same issue with the career path Back-End Developer. This should be fixed by Codecademy!


Just ran into the same issue.

I ran into the same issue on the front-end engineer path. Absolutely agree and skipped the project for now.

Yeah… I know it gives a bit of anxiety skipping a project. But, you will want to skip right to the next lessons after it. Once you get those items done with Mocha and all of the TDD lessons, you can go back and pick up the skipped project with the necessary training to complete it without confusion.

Hey Folks,
We recently (about a week ago) added some lines to this project explaining that the idea behind it is to get familiar with the process of testing itself before learning all the nitty-gritty details of it. If you still feel the project is too hard to understand though, I’d be really interested to hear the specifics and how it could be improved.


yes, I’ve had the same issue.

Good day,

This is just my two cents, but perhaps have a module before the actual project which takes you into writing tests, similar to the “writing good tests with Mocha” with the exception of it being based on the Node.js assertion library and not Mocha.

That way when we reach the project, we have an idea as to how one would actually write a test, instead of just seeing the code.

1 Like

Same here. I just came across it in Frontend Career Path.

I agree. not enough information to even really get started with this one. – some good information here, but still not really enough. I’m hoping that the advice above (skip this practical for now) will work. lets hope codecademy can resolve this issue, which seems to be a lesson order problem.

I know it causes a little anxiety to leave something left undone like that. But, just go through all of the TDD modules after it.
By the time you go back to the cake module, it will make sense and you’ll complete it without the confusion.

Same for the backend engineering course, this kind of stuff really makes me think codecademy isn’t even trying to teach in a way students can learn.

1 Like

I’m the OP.
Codecademy has actually done pretty well with the front-end syllabus as a whole. This one was the only glitch that had me stumped on how to move forward.

I can’t speak to the backend program.

I walked away happy with the overall experience and a certificate.

I wish everyone a productive adventure.

I feel that there are gaps that the frontend and fullstack fill in.

for all of the money these people are making, you would think they would put the lessons in an order that makes sense. This is the second time I had to skip a project because they are just randomly ordering this without attention to detail. It is a bad look, specially since we are ll paying for this.

1 Like

I also temporarily skipped the project and agree with everyone here that the gap between the tasks in the project and the content of the prior lessons is too big.
I would have wished that the lessons – besides the idea behind testing – introduce the syntax and logic of the tests. In the lessons we are asked to search for a specific line of code and we’re told exactly where to find it. Then we are asked to copy it and paste it to a specific line of the targeted file without understanding what it does. The functions used in the test files aren’t introduced and explained. Yet we have to use them in the project. So while I found the lesson far too easy as it mainly consisted of clear instructed copy pasting, the project wasn’t doable for me with the knowledge I had or had not gained from the preceding lessons.

Having just gone through it - the jump in scope of this lesson is quite frustrating, but if you copy and paste where indicated and cheat off the solutions where needed - by the end it will make sense.

It’s much more about the structure of TDD at first, rather than the coding.

1 Like

I guess that is possible. But it feels a bit inconsistent with the other course contents, where I found the progression of difficulty smoother. In the other lessons, the concept and the techniques are introduced and the project build on that base. That often is still challenging and should be. And I do use the hints when needed, but these are indeed hints in the other lessons – not the solution code – which still requires you to understand the concepts behind it in order finish the project. So I think it would be useful to close that gap by extending the preceding lesson or adding an extra lesson which gets more into details.

1 Like

I am utterly confused at this point. I am on the full-stack development path. Prior to the TTD, everything was fine and went smoothly. I was able to understand everything they covered. But, in the Why Test section, few syntaxes explained properly. What you have to write is basically npm test and start. Yep, that’s what I learned. I know the procedure in those tests is basically mimic input from a user and compare the output of actual results with expected results. But they really need to explain what those syntaxes like insertext, parseHTML…do in the test.