
Explore Pact-based testing across provider, consumer, and message queue scenarios, using open API docs, optic schema validation, Cypress API e2e, and a TypeScript stack with Express, Prisma, and Kafka.
Explore how to set up a Cypress API testing workflow using template repositories for consumer and provider with node 20, ESLint, Prettier, TypeScript, and Macaroon for network mocking.
Initialize a Prisma project with SQLite, define a Movie model, and configure env variables. Set up start scripts and a basic Express server to run migrations and tests.
Learn prisma client setup with tsconfig for type checking on sqlite, and test APIs using postman, rest client, and Cypress data sessions for token reuse.
Define a movie schema to drive crud operations with an auto-updating OpenAPI document, importing types and aligning with the Prisma schema for consistent api responses.
Auto-generate an OpenAPI document from prisma schemas by registering schemas in an OpenAPI registry, exposing movie endpoints (get, post, update, delete) and a health check, with JSON and YAML outputs.
Automate OpenAPI generation from code into json and yaml documentation and validate with optic linting. Compare changes against main branch to detect breaking changes and integrate checks in GitHub actions.
Explore the repository pattern and hexagonal architecture by implementing a movie repository, movie adapter, and movie service with Prisma integration and robust error handling.
Demonstrate testing a repository adapter with Jest, npm test, and watch mode; use Prisma mocking and factories to verify get movies and get movie by id, including error handling.
Explore repository and adapter patterns with practical tests for movie crud operations using Prisma, including delete by id, add, update, error handling, and 409 not found scenarios.
Implement and test Express middleware for routes, including a timestamp-based auth token in the authorization header and a validate movie ID check.
Builds a movies route with auth and validation middleware, wires a prisma adapter to the movie service, formats responses, and outlines end-to-end testing and future kafka events.
Explore middleware and routes by building and testing a movie api with Cypress, including creating, retrieving (by id and name), updating, deleting, and validating responses with schema checks.
Implement middleware routes and Cypress end-to-end tests, with OpenAPI schema validation, CTS/RTS naming, and tokenized CRUD testing for movies using Spock-style data checks.
Fix type checking by converting index.js to index.ts, re-enabling type checking for the file, and validating with get movie and messages types through unit tests.
update the schema validation yaml, enable automatic commits for open api changes via GitHub actions using path tokens and personal access tokens, and persist credentials in actions checkout contents permissions.
Build a consumer service using Axios to call the provider, test integration with Cypress E2E without Pact, and implement a simple movie client with auth headers and CRUD calls.
Explore end-to-end testing of a movie api using axios and nock, with wallaby for tests, covering get, add, update, and delete operations, error handling, and mock provider interactions.
Learn to build Cypress tests that import consumer code, use macaroon to mock the network, and wrap calls in side tasks and Cypress commands for CI-style testing.
Update Cypress tests to exercise provider with the consumer, then mock the backend in CI using Mockoon, Site Task, and Spark for concise, data-driven movie tests (add, get, update, delete).
Set up pact between provider and consumer by creating a pact, configuring broker tokens, base URL, and m files, and adding pact dependencies and test scripts.
set up pact tests with consumer state helpers, provider states, and mock servers to verify movie API interactions from get to delete, using v4 pact and provider state strategies.
Configure the provider for pact testing by updating env and secrets, aligning pack broker urls and tokens for provider and consumer, and setting up global setup and verifier options.
Execute pact tests by wiring a provider ci with a local star server, env-driven config, and a test provider script, then gate consumer deployment with breaking-change checks and webhooks.
Set up pact webhooks to enable consumer driven contract testing by triggering provider verifications via a repository dispatch event and a yaml workflow, using one-time scripts and pact broker integration.
Set up pact webhook between provider and consumer, triggering on tagged changes to run contract tests via ci and pr workflows, and validate deployments on main.
Improve the pact webhook to reliably run tests against the correct consumer branch, using branch matching, provider/consumer contract checks, and jq-driven JSON parsing in CI/CD.
Course Overview:
This course provides an all-encompassing journey into JavaScript/TypeScript testing architectures that cover everything from consumer-driven and provider-driven contract testing to full-stack UI/API end-to-end testing, and schema validation . By the end of this course, you’ll have the skills to implement a robust and scalable test suite across any modern application architecture. Whether you're testing UI components in React, handling APIs, or setting up CI workflows on GitHub Actions, this course has you covered.
What You’ll Learn:
Comprehensive Contract Testing with Pact: Master consumer-driven, provider-driven, and message queue (Kafka) contract testing, ensuring seamless integration between services and preventing breaking changes before they reach any deployment. Identify issues that may not show up in your PR but could break other services in deployments — shift left and catch them early.
Cypress for Full-Stack Testing: Gain expertise in UI end-to-end (E2E), API E2E, and UI component testing modern React, to cover all interaction points in your application, using Mockoon to mock network requests for isolated API testing.
Schema Validation with Zod and Optic: Build schemas, automatically generate OpenAPI specifications directly from code, validate them end-to-end with Optic, and schema test them with cypress-ajv-schema-validator, ensuring consistency and preventing breaking API changes at the PR level.
Advanced TypeScript and Testing Patterns: Learn advanced TypeScript concepts, the Ports & Adapters pattern, and best practices with Jest, React, and React-Query.
CI/CD Integration with GitHub Actions: Set up automated, scalable testing workflows in CI, ensuring code quality and reliability with every deployment.
Why Take This Course?
Using 3 repos, a variety of tech and test tools, this is one of the most comprehensive courses on testing architecture available. Designed for developers & testers who want a deep, practical understanding of full-stack testing that scales across complex applications, it also provides tools to catch breaking changes before they affect other services on deployments, at PR level. Even seasoned experts will find valuable insights and techniques, while beginners can follow along step-by-step to get everything working locally and in CI.
Requirement: Familiarity with Git and npm.
Get ready to elevate your testing skills, ensuring every part of your app is covered from development to deployment—and that you’re equipped to prevent breaking changes that might pass in PRs but fail in deployments!