Book Image

Full-Stack Web Development with Vue.js and Node

By : Aneeta Sharma
Book Image

Full-Stack Web Development with Vue.js and Node

By: Aneeta Sharma

Overview of this book

Isomorphic JavaScript was the buzzword of the year 2017, allowing developers to utilize a single language throughout their web development stack and build cost-effective and scalable applications. MEVN is a one such modern web development stack consisting of web applications such as MongoDB, Express.js, Vue.js, and Node.js. Hands-On Full-Stack Web Development with Vue.js 2 and Node.js leverages the harmony of these technologies to help you create full-stack web applications. Starting with the core frameworks, this example-based guide explains all the key concepts of frameworks, how to set them up properly, and how to use popular modules to connect them together and make them work cohesively. You will learn all this with the help of real-world examples. In addition to this, you will be able to scaffold web application architecture, add an authentication layer, and develop the MVC structure to support the development of your application. You'll explore how to create data models for your applications and then write REST APIs by exposing your data model to your application. Solely orientated towards building a full, end-to-end application using the MEVN stack, this book will help you understand how your application development grows.
Table of Contents (12 chapters)

Introducing chai

Let's discuss chai. chai is an assertion library, used with mocha. We could also use the native assertion library , but chai adds a lot of flexibility.

chai makes it a lot easier to write test definitions. Let's install chai and modify the preceding test to make it look more simple and easy to understand:

$ npm install chai -g

We passed the -g option to install it globally, since we do not have a package.json configuration.

Let's use chai in our previous test. In add.spec.js, add the following lines of code:

var expect = require('chai').expect;
var addUtility = require("./../add.js");

describe('Add', function(){
describe('addUtility', function(){
it('should have a sum method', function(){
expect(addUtility).to.be.an('object');
expect(addUtility).to.have.property('sum&apos...