Book Image

Hands-On RESTful Web Services with TypeScript 3

By : Biharck Muniz Araújo
5 (1)
Book Image

Hands-On RESTful Web Services with TypeScript 3

5 (1)
By: Biharck Muniz Araújo

Overview of this book

In the world of web development, leveraging data is the key to developing comprehensive applications, and RESTful APIs help you to achieve this systematically. This book will guide you in designing and developing web services with the power of TypeScript 3 and Node.js. You'll design REST APIs using best practices for request handling, validation, authentication, and authorization. You'll also understand how to enhance the capabilities of your APIs with ODMs, databases, models and views, as well as asynchronous callbacks. This book will guide you in securing your environment by testing your services and initiating test automation with different testing approaches. Furthermore, you'll get to grips with developing secure, testable, and more efficient code, and be able to scale and deploy TypeScript 3 and Node.js-powered RESTful APIs on cloud platforms such as the Google Cloud Platform. Finally, the book will help you explore microservices and give you an overview of what GraphQL can allow you to do. By the end of this book, you will be able to use RESTful web services to create your APIs for mobile and web apps and other platforms.
Table of Contents (20 chapters)
Free Chapter
Section 1: Unraveling API Design
Section 2: Developing RESTful Web Services
Section 3: Enhancing RESTful Web Services
Section 4: Extending the Capabilities of RESTful Web Services

Testing suites

There are a lot of books that only cover testing strategies such as Test-Driven Design (TDD), Behavior-Driven Design (BDD), unit tests, integration tests, smoke tests, regression tests, and so on. The scope of this book allows us to create a minimal but useful testing suite so that you can start based on this model and improve on it, depending on your project's needs. Basically, this chapter covers the following essentials:

  • Providing a testing structure with Mocha
  • Using assertation functions with Chai
  • Mutation tests with Stryker

This chapter won't show you how to implement all of these, since they will be covered later in the book. At the moment, our focus is on installing all of the necessary dependencies while explaining how they work at a high level.

For the purpose of testing suites, we will create a folder called my-first-suite-test-project, which...