React and Node Js Testing with Jest and Enzyme

Duration: 3 days – 21 hrs.

Overview

This workshop teaches the participants how to design and develop server-side applications using the event-driven, non-blocking model framework Node.js. This program inducts the participant in basic concepts of the JavaScript as well as node.js language 

so that the participant is well equipped to build end-to-end application using Node and React.

 

Objectives

  • Use some custom web applications as well as some already existing application for
  • React Development and testing.
  • Combine both Node js and React mainly focusing on the basic with lots of hands on exercise. 

Audience

  • Developers

 

Pre- requisites 

  • Participants are expected to have a basic understanding of JavaScript


Course Content

What is react?

  • Installation
  • Getting Started
  • Add React to a Website
  • Create a New React App

 

React

  • Hello World
  • Introducing JSX
  • Rendering Elements
  • Components and Props
  • State and Lifecycle
  • Handling Events
  • Conditional Rendering
  • Lists and Keys
  • Forms
  • Lifting State Up
  • Composition vs Inheritance
  • Accessibility
  • Code-Splitting
  • Context
  • Error Boundaries
  • Forwarding Refs
  • Fragments
  • Higher-Order Components
  • Integrating with Other Libraries
  • JSX In Depth
  • Optimizing Performance
  • Portals 
  • Profiler
  • React Without ES6 
  • React Without JSX
  • Reconciliation
  • Refs and the DOM
  • Render Props
  • Static Type Checking
  • Strict Mode
  • Typechecking With PropTypes
  • Uncontrolled Components 
  • Web Components

 

Hooks

  • Introducing Hooks
  • Hooks at a Glance
  • Using the State Hook
  • Using the Effect Hook
  • Rules of Hooks
  • Building Your Own Hooks
  • Hooks API Reference

 

Introduction Typescript

  • Modules
  • Types
  • Interfaces 
  • Functions
  • Classes
  • Implementing Interfaces
  • Describing Constructors Using Interfaces
  • Generics
  • Union Type
  • Intersection Type
  • Type Alias
  • Using External Packages and Their Types
  • Declaration Merging
  • Utility Types

 

How TypeScripts extends JavaScript to add more safety and tooling

  • Primitives
  • Any
  • Literals
  • Union and Intersection Types
  • Unknown and Never
  • Type Primitives
  • Tuples
  • Build-in Utility Types
  • Nullable Types
  • Meta-Types
  • Conditional Types
  • Discriminate Types
  • Indexed Types 
  • Mapped Types
  • Language
  • Soundness
  • Structural Typing
  • Type Guards
  • Type Widening and Narrowing
  • Language Extensions
  • Enums
  • Nominal Typing
  • Types vs Interfaces

 

React with Typescript

  • Introduction
  • Function Components
  • Class Components
  • Higher Order Components – React Redux
  • Higher Order Components – Creating HOCs
  • Render Props
  • Event Handling
  • Introduction to Hooks
  • Hooks: useState
  • Hooks: useEffect

 

Building a demo application using Typescript and React

  • Use everything we have learn to make the application
  • Best practices while using React with Typescript 
  • Debugging Basics

 

Concurrent Mode

  • Introducing Concurrent Mode
  • Suspense for Data Fetching
  • Concurrent UI Patterns
  • Adopting Concurrent Mode
  • Concurrent Mode API Reference


Jest

  • Setting up Jest without create-react-app 
  • Enzyme Introduction and Setup?
  • Using Enzyme in a Test
  • Types of Tests
  • Testing Asynchronous Code
  • Setup and Teardown
  • Mock Functions
  • Jest Platform and Community

 

Jest Guides

  • Snapshot Testing
  • Async Example
  • Timer Mocks
  • Es6 Class Mocks
  • Bypassing Module mocks
  • Using with webpack
  • Using with puppeteer
  • Using with MongoDB and DynamoDB
  • DOM Manipulation
  • Watch Plugins
  • Migration to Jest and Architecture

 

Framework Guides

  • Testing React Apps few demo and few custom made apps
  • Testing React Native Apps and Web Framework
  • In Depth Look in Globals, Expect, Mock Functions, Jest Object and Configuring Jest
  • Jest CLI Options

 

Introduction to Node.js

  • Installing Node.js
  • Node’s Event Loop
  • Alternatives to Node.js
  • Writing asynchronous code


Modularizing code

  • Understanding built-in modules
  • Techniques for modularizing JavaScirpt code
  • Using require() to modularize application code
  • Using npm for third-party modules
  • Handling Exceptions

 

Events and Streams

  • Understanding Events
  • EventEmitter class
  • Understanding Streams
  • Reading and writing streams
  • Using pipe()

 

Accessing Local Resources

  • Process Object
  • Manipulating File System
  • Understanding Buffers

 

Node.js and the web

  • Handling web requests
  • Building a web server
  • Understanding the need for web sockets
  • Realtime interaction using socket.io

 

Node.js Eco System

  • Node Packages
  • Packages of interest
  • Deciding Factors
  • Summary and Conclusion

 

Node.js and the web in detail

  • Handling web requests
  • Building a web server
  • Understanding the need for web sockets
  • Realtime interaction using socket.io

Best selling courses

CLOUD COMPUTING

Enterprise Architecture

DATA SCIENCE

Tableau Basic

ARTIFICIAL INTELLIGENCE / MACHINE LEARNING / DEEP LEARNING

RPA with UiPath

PROGRAMMING / CODING

MATLAB Fundamentals