Angular Checkpoint
Logistics
- This test was designed to be difficult to finish. Get through as much as you can, and if you get stuck on any spec, try moving on – they're not all cumulative.
- You may refer to online resources or notes, but not any previous code you've written, nor the study guide, nor may you copy/paste from outside resources.
- There are three extra credit possibilities:
- The
ng-enter
directive (last spec);x
'd out to start. - The "cached"
Todo
factory;x
'd out to start. - Ensuring that your app is actually entirely functional (see below).
- The
Getting started
- Fork this repo then clone your fork locally.
npm install
npm test
(which starts up testem)- Open up localhost:7357 to view the full HTML report.
- Start going through the specs.
- The specs are mostly isolated, meaning that one file does not depend on another; if you get stuck, try other specs. The exception is that
todo.list.state.js
must work before any otherstate.js
will pass, and any spec about transitioning to a state will only pass if the correspondingstate
passes. - You should only need to edit the following files. They are listed here in the order we recommend you tackle them, which is the same order they appear in the test report:
- browser/app/todos/todo.factory.js
- browser/app/todos/list/todo.list.controller.js
- browser/app/todos/list/todo.list.state.js
- browser/app/todos/item/todo.item.directive.js
- browser/app/todos/item/todo.item.controller.js
- browser/app/todos/detail/todo.detail.controller.js
- browser/app/todos/detail/todo.detail.state.js
- browser/app/todos/edit/todo.edit.controller.js
- browser/app/todos/edit/todo.edit.state.js
- browser/utils/ng-enter.directive.js
Submitting
git add -A
git commit -m "Submission for deadline"
git push origin master
Things you should be aware of
- For your code, there will be a frontend global
app
which represents the angular module. - For the directives, there are two global variables being assigned inline. This is not normal directive syntax, but is used here to make testing simpler.
- All of the html is already there, and if you want context for the various contoller methods etc you are building, it could be a good idea to go check out how it is being used in the html.
- You can run
npm start
to fire up a server. Use this if you want to get a sense of what your app actually looks and feels like as you're passing the specs. If so, you can also seed the database withnpm run seed
. - We think you're swell, so try to just relax and do the best you can.
< g o o d l u c k 3