Book Image

The Node Craftsman Book

By : Manuel Kiessling
Book Image

The Node Craftsman Book

By: Manuel Kiessling

Overview of this book

The Node Craftsman Book helps JavaScript programmers with basic Node.js knowledge to now thoroughly master Node.js and JavaScript. This book dives you deeper into the craft of software development with Node.js and JavaScript, incuding object-orientation, test-driven development, database handling, web frameworks, and much more. The Node Craftsman Book shows you how to work with Node.js and how to think deeply about how you build your Node projects. You'll master how to build a complete Node.js application across six crafting milestones, and you'll learn many specific skills to achieve that mastery. These skills include how to work with the Node Package Manager in depth, how to connect your Node applications to databases, and how to write unit tests and end-to-end tests for your code. You'll experience the full Node.js development picture, and learn how to craft and control your Node.js applications - right through to fully-fledged web applications using REST, and integration with Angular applications.
Table of Contents (17 chapters)
Free Chapter
1
Part 1: Node.js Basics in Detail
2
Working with NPM and Packages
3
Test-driven Node.js Development
11
Milestone 1 – A First Passing Test Against the Server
13
Milestone 3 – Setting the Stage for a Continuous Delivery Workflow

Milestone 1 – A First Passing Test Against the Server

We will approach the requirements through a set of milestones. The first milestone we will try to reach is a very first passing end-to-end Jasmine test case against our web service API.

Let's see what we need to reach that milestone:

  • We need to be able to execute Jasmine test cases
  • We need a Jasmine spec that requests our HTTP backend
  • We need an HTTP backend that responds to the request

In order to verify that we are good to go in regards to executing Jasmine test cases, let's create a subfolder spec/e2e in our project directory:

mkdir -p spec/e2e

Next, we create the file that will hold the end-to-end tests for our yet-to-be-written API server. We name it apiSpec.js and store it within the spec/e2e folder we just created:

'use strict';
describe('The API', function () {

  it('should just work', function () {
...