
Introduce Node.js back-end development using REST with Express.js, MongoDB integration, and Jest-powered unit and integration tests, while illustrating non-blocking, single-threaded concepts in practical server scenarios.
Discover how NodeJS enables server-side JavaScript by using the V8 engine, extending browser JavaScript into back-end applications with non-blocking I/O and a single-thread model.
Set up Node and Visual Studio Code, verify the Node installation, and create a Node project folder on the desktop to begin building with Express, MongoDB, and Jest unit tests.
Create your first JavaScript file in a node project with a .js extension, run it with node, and print results with console.log while exploring const, let, booleans, strings, and objects.
Explore function definitions and invocations in JavaScript, compare let and var for variable scope, and examine how scope inside and outside for loops affects access.
Learn to work with JSON objects by parsing and stringifying payloads and accessing nested keys. Practice immutable updates with copies and the spread operator to avoid mutating originals.
Set breakpoints with the red button, start debugging, and step through code to inspect variables and program state. Use console logs to understand values and observe changes as execution proceeds.
Learn how to define and call functions in Node.js by creating add and sub, using private and public scope, exporting with module.exports, and requiring in tests.
Explore how public and private functions interact in unit tests, including exporting and calling private functions from tests, and observe test execution order from top to bottom.
Explore asynchronous and non-blocking behavior in Node.js, contrasting a blocking function sequence with unblocking examples. Learn how a single-threaded main thread executes functions a, b, and c.
discover how blocking code slows programs and how non-blocking, asynchronous patterns using setTimeout, the event queue, and callbacks let a single thread handle time-consuming tasks efficiently.
Pass a callback to A, B, and C to execute in sequence, enabling non-blocking behavior; use a web app example that notifies the main thread when images finish downloading.
Chain callbacks to run A, then B, then C in order by passing a callback to A that triggers B, and B's callback triggers C.
Explore how callbacks are passed to main processing functions, invoked when tasks finish, and why callback chaining becomes hard, leading to promises that simplify asynchronous code in node.js contexts.
Replace callback logic with promises in a node.js workflow by wrapping functions in new promise, using resolve and reject, and chaining a, b, and c with then and catch.
Explore converting synchronous-like calls into asynchronous flows with promises and async/await, and learn to run A, B, and C in sequence without blocking.
Explore real-world promise workflows: login returns a token, fetches video lists, and retrieves video details with non-blocking delays, and learn promise chaining with then.
Explore testing with the Jest framework by validating callback and promise based functions, using expect assertions, and applying setup and teardown via beforeEach, beforeAll, and related hooks.
Build a restful employee management web server with endpoints for create, delete, get by id, get all, update, and login. Develop within an agile two-week sprint on a local server.
Set up a web server with the Express framework by initializing an npm project, installing express, creating an app.js, defining an endpoint, and starting the server to respond to requests.
Learn to use postman to send http requests to a local express server, create an employee project collection, add requests, and receive a hello response.
Set up and route rest endpoints for an employee api using express, exporting modules and handling requests with proper status responses. Learn to auto-restart with nodemon for efficient development.
Build an employee management API with MongoDB as the database, implementing create, get, update, delete endpoints, along with unit and integration tests using Jest, in Node.js with Express.
Set up a free MongoDB server in the cloud on AWS, choose northern Virginia, and learn to create a cluster with 512 MB storage for your app.
Set up a MongoDB server connection by creating a user, whitelisting your IP, and copying the connection string to connect your application, then explore creating databases and collections.
Implement MongoDB utility functions using Mongoose to connect, disconnect, and drop collections, exporting reusable helpers for robust database operations in a Node.js rest-express app and tests.
Define a Mongoose schema and model for a MongoDB collection, with fields like name (string), age (integer), date, and password (min length 6), plus an optional phone number.
Implement a create employee endpoint by wiring a Mongoose model and handling a post request to store a new employee in the database.
Learn to improve the create employee endpoint by validating input with a schema, enforcing required fields like password and unique email, and hashing passwords with bcrypt before storing in MongoDB.
Implement a get all employees endpoint in a Node.js Express API using Mongoose to fetch all employees and return a 200 response with the list.
Implement a get employee by id endpoint in a node.js express app using mongodb, returning 200 with the employee payload or 404 if not found, and 500 on error.
Learn how to implement an update employee endpoint in a nodejs express app using mongoose, updating by id with the request payload, handling errors, and testing with postman.
Implement a delete employee endpoint using MongoDB with promises, performing find by id and delete, returning the deleted employee details on success and handling not found or server errors.
This lecture demonstrates getting an employee by id in mongoose using a callback, contrasts with promises, and shows how to respond with status 200 or 500.
Implement an employee login endpoint using Express, validating email and password, checking user existence in the database, comparing hashed passwords with bcrypt, and returning a token on success.
Secure api endpoints by issuing a jwt token on employee login and validating it with middleware for protected updates, using a secret key and token expiration.
Learn to secure secrets by loading environment variables with dotenv and cross-env, avoiding hard-coded values and enabling environment-specific databases and collections.
Learn how unit testing validates the smallest software units with mocks and test cases. Explore integration testing to verify end-to-end system behavior using frameworks like Jest to boost confidence.
Begin by testing all functions in the controls with a testing framework, create test data, and set up the first unit test file under the test folder.
Practice building unit tests for the GetEmployeeByID function in a node express MongoDB app, using test cases, expect assertions, and Mongoose integration to validate controller behavior.
Unit test the get employee by id flow by mocking the employee model, supplying a fake request and response, and asserting a 200 status with valid employee data.
Demonstrate building a unit/integration test for the getemployee by id endpoint in a nodejs rest-express app using jest, including mocking dependencies and asserting not found responses.
Explore building and validating a get-employee-by-id unit test by mocking find by id, forcing exceptions, and ensuring the endpoint returns 500 or 200 with properly formatted data.
Test the get all employees endpoint in a NodeJS Rest-ExpressJS MongoDB app by mocking the find function and asserting a 200 response with the full employee list.
Learn how to test the get all employees endpoint using mocked database responses, verify empty results, handle errors, and debug unit tests in a Node.js, Express, MongoDB setup with Jest.
Learn to unit test the update employee by id flow in a Node.js Express app with Mongoose, using mock data, beforeEach setup, and controller validation to ensure correct responses.
Practice testing the update by id flow in a Node.js rest app with Express and MongoDB, covering 400 and 500 errors and validating update and delete tests with Jest.
Test delete employee by id in a NodeJS express app using a controller and model mocks. Explore success and error scenarios with promises and Jest-based unit tests.
Learn to write unit tests for a NodeJS REST app by testing the create employee flow in the controller, using mocks, schema validation, hashing, and proper HTTP status handling.
Develop unit and integration tests for the login employee flow in a Node.js rest express app, using JWT, password hashing, and mocks to validate outcomes.
Demonstrate end-to-end integration testing of a Node.js express API using supertest, including setting up the server, connecting to MongoDB, exporting the app, and asserting endpoint responses.
This lecture demonstrates integration testing of Node.js rest endpoints with Express and MongoDB using Jest, focusing on positive scenarios for create, get, update, delete, and login flows.
Learn to design integration tests with negative scenarios in a Node.js Express MongoDB setup, using before/after hooks, DB cleanup, and 400/404/500 failures for create and login.
Learn how to test a private function in Jest by stubbing and mocking with a Babel plugin, using a private function B and a public function A.
Explore how to test class methods with jest by creating a class instance, mocking methods with mockImplementation, and controlling return values for unit tests.
Learn to measure JavaScript unit test coverage with Istanbul and generate HTML test reports, then create desk reports to share test results with management.
Leverage mutation testing to gauge unit test health by injecting code mutations and observing which tests fail. Learn to configure, run, and interpret stryker mutation reports to improve coverage.
Explore the Jest testing framework, write unit tests with mock functions, and configure test environments with setup files to use assertions, snapshots, and efficient test practices.
A great course to learn NodeJS programming by developing the Express JS web server.
Ultimate course to learn Jest Test Framework
Integrate web server with mongodb database in the cloud.
I focus on Jest Test Framework a lot and you will master in no time.
Learn the tricks to use the Jest test tool to create HTML reports, code coverage, stub/mocking, unit test.
We will add a lot of unit and integration tests, code coverage tools
Integration test using supertest.
Live programming and learn along the course, more than 7 hours of video content.
Protecting endpoints using jwt tokens , how to do mutation tests using stryker
Learn about Test Concepts and Test Driven Development (TDD).
& you can expect the Best Student Support...
If you dont like the course , of course you get the money back for 30 day time
Some Reviews:
1.Instructor is really amazing as he is repeating the same type of "expect" almost in every place giving us more practice and sometime add new "expect" to show us that we can put any number of jest expectations. Instead of showing all the different types of tests he is showing a similar pattern type. Advantage of this is that after completing the course people will know and remember that they need to test in a similar way and get more knowledge out of it. Thank you Robin for this amazing course.
2. After those lessons, I was able to create a Shop API of my own design and to fully test it, thus I recommend this course. Instructor would reply my questions within hours. I also enjoy when instructors make mistakes, read the logs with us and fix it, so we are more prepared to deal with problems of our own. I would say that some previous postman and javascript knowledge is required to fully enjoy this course, although not strictly necessary.
3.Excellent course! The instructors errors along the way actually teach real world troubleshooting experience. This course advanced my understanding of unit testing as a development tool.
4.Excellent course! The instructors errors along the way actually teach real world troubleshooting experience. This course advanced my understanding of unit testing as a development tool.
5.instructor is really amazing as he is repeating the same type of "expect" almost in every place giving us more practice and sometime add new "expect" to show us that we can put any number of jest expectations. Instead of showing all the different types of tests he is showing a similar pattern type. Advantage of this is that after completing the course people will know and remember that they need to test in a similar way and get more knowledge out of it. Thank you Robin for this amazing course.