Piecing it all together
Testing Authorization with Bouncer
Testing Auth Protected Routes
The Japa Auth Plugin
Testing Model Logic
Testing with Lucid Model Factories
Database Driven Endpoints
Database Hooks
Testing File Uploads
Asserting OpenAPI Specifications
Asserting JSON Structures
Testing Client Validations
Testing Ace CLI Commands
Testing GET Requests

Get Ship Done

Adocasts teaches you how to ship NodeJS apps in no time using AdonisJS and it's many built-in batteries.

Adocasts by the numbers

Comprehensive library
457
Lessons & counting
Skills mastered
36.9k
Lesson completions
Growing community
4k
Members strong
Vibrant discussions
1.1k
Comments & forum posts

Learn one step at a time

Pragmatic Testing in AdonisJS with Japa

Throughout this series, we'll introduce the Japa testing framework, which comes prepackaged with most AdonisJS starter kits. We'll understand how it integrates with AdonisJS, the CLI options it provides, it's assertion library, plugins, and more.

30 Lessons
4h 6m

AdonisJS Scenarios

In this ongoing series, we'll cover various scenarios you're likely to run into while developing or maintaining an AdonisJS application. Topics will range from authentication challenges to database management, testing, and more.

3 Lessons
37m 37s

Building A Multi-Search with Meilisearch & AdonisJS

In this series, we'll build a server-rendered mutli-search utilizing Meilisearch, Unpoly, and a sprinkle of AlpineJS. We'll setup factories and seeders to make fake data to allow us to index and search against books, authors, and genres simultaneously!

12 Lessons
1h 38m

AdonisJS Quick Tip

Quick tips, lessons, and screencasts covering specific topics on AdonisJS.

25 Lessons
2h 59m

Adding an API to an AdonisJS Web App

In this series, we'll add a API, using Opaque Access Tokens for authentication, to a preexisting web application. We'll implement dual-guard authentication, add a token management panel, and authenticate our API directly with an organization model!

43 Lessons
5h 31m

Dive into a topic

null

AdonisJS

18 series 445 lessons
AdonisJS
EdgeJS

EdgeJS

8 series 91 lessons
EdgeJS
Database

Lucid

12 series 163 lessons
Database
Authentication

Authentication

9 series 46 lessons
Authentication
Terminal

Ace CLI

3 series 18 lessons
Action

Actions

2 series 36 lessons
AlpineJS Icon

AlpineJS

2 series 7 lessons
Authorization badge

Authorization

3 series 15 lessons
null

AWS Amplify

1 series 8 lessons
Padlock

Bouncer

1 series 5 lessons
Components

Components

3 series 35 lessons
Control panel icon

Controllers

7 series 35 lessons
Debugging icon

Debugging

1 series 4 lessons
Drive

Drive

1 series 2 lessons
Email

Email

2 series 7 lessons
Filtering

Filtering

4 series 14 lessons
HTMX

HTMX

1 series 5 lessons
HttpContext

HttpContext

6 series 26 lessons
null

InertiaJS

2 series 102 lessons
null

JavaScript

3 series 11 lessons
Markdown icon

Markdown

1 series 3 lessons
null

Nuxt

1 series 7 lessons
Pagination

Pagination

2 series 8 lessons
Rate Limiting

Rate Limiting

1 series 4 lessons
Redis logo

Redis

1 series 2 lessons
Router

Router

6 series 51 lessons
Services icon

Services

5 series 21 lessons
Tailwind CSS Icon

Tailwind

4 series 22 lessons
AdonisJS Testing

Testing

30 lessons
Idea lightbulb

Tips

3 series 25 lessons
TypeScript logo

TypeScript

1 series 10 lessons
Validation dials

Validator

5 series 39 lessons
Vite logo

Vite

1 series 3 lessons
VS Code logo

VS Code

3 lessons
null

VueJS

3 series 90 lessons

Jump straight to the latest

Video preview
Adocasts Plus Exclusive
Exclusive
Piecing it all together
Video preview

Piecing It All Together

In this lesson, we'll piece everything we've learned thus far together and create functional tests for a route allowing the authenticated user to change their email. This encompasses authentication, email sending, database records, and more

Video preview
Adocasts Plus Exclusive
Exclusive
Testing Authorization with Bouncer
Video preview

Testing Authorization with Bouncer

In this lesson, we'll learn to test AdonisJS Authentication with Bouncer for actions like deleting a post. We'll cover happy paths where authorization is granted and sad paths where authorization is denied and the action is forbidden.

Video preview
Adocasts Plus Exclusive
Exclusive
Testing Auth Protected Routes
Video preview

Testing Auth Protected Routes

In this lesson, we'll learn how to test auth-protected routes via the auth middleware and non-auth-protected routes via the guest middleware. We'll ensure our user is redirected appropriately and shown a flash message where applicable

Video preview
Adocasts Plus Exclusive
Exclusive
The Japa Auth Plugin
Video preview

The Auth Plugin

In this lesson, we'll learn how to test authenticated routes in AdonisJS/Japa. First, we'll install and register the Auth API Client plugin. Then, we'll learn how to use our User Factory to create a user and login as them for our test's request.

Video preview
Adocasts Plus Exclusive
Exclusive
Testing Model Logic
Video preview

Testing Model Logic

In this lesson, we'll learn how to Unit Test AdonisJS Model logic using Japa. We'll test a password reset token's validity to show instance-level tests. Then, we'll test its generate and verify methods to show static methods.

Video preview
Adocasts Plus Exclusive
Exclusive
Testing with Lucid Model Factories
Video preview

Testing with Lucid Model Factories

In this lesson, we'll learn about AdonisJS Model Factories and how we can use them to create realistic, yet fake, test data. We'll create a few factories we'll use in this series and learn how we can stub or create data with them in tests.

Video preview
Adocasts Plus Exclusive
Exclusive
Database Driven Endpoints
Video preview

Testing Database-Driven Endpoints

In this lesson, we'll learn how to functionally test a registration endpoint using a test database. We'll learn about global transactions and how we can use them to easily reset our database between tests and confirm database state with Lucid.

Video preview
Adocasts Plus Exclusive
Exclusive
Database Hooks
Video preview

Database Test Runner Hooks

In this lesson, we'll learn how to set up a dedicated test database to ensure clean, isolated testing. We'll configure a separate SQLite database using a test environment variable and set up Japa runner hooks to automatically migrate and seed our database

Video preview
Adocasts Plus Exclusive
Exclusive
Testing File Uploads
Video preview

Testing File Uploads

In this lesson, we'll learn how to test AdonisJS file uploads using Drive Fakes and the Japa API Client. We'll generate fake files for testing, use a multipart request, assert successes, test validation failures, and impress the importance of cleanup.

Video preview
Adocasts Plus Exclusive
Exclusive
Asserting OpenAPI Specifications
Video preview

Asserting OpenAPI Specifications

In this lesson, we'll learn how to validate AdonisJS API responses against an OpenAPI Specification, like those generated by Swagger APIs, using Japa's OpenAPI Assertions plugin.

Launch into Adocasts Plus

Get access to all the tools, tips, and real-world knowledge to build with confidence. Just choose the plan that fits you best.

  • Unlock all series, lessons, and assets
  • Repo downloads & GitHub access
  • Download lessons to watch offline anytime
  • Save time-stamped notes
  • Priority lesson support
  • Renewal reminders; cancel anytime

Monthly plan

Just getting started? Try Adocasts Plus on a month-by-month basis and unlock everything instantly with no strings attached.

$8

USD

per month

Annual plan

Ready to level up your Node game? Go annual and save big while accessing all premium content, all year long.

$80

USD

per year

Forever plan

All-in forever? One-time payment, lifetime access. Everything we make, now and in the future, is yours.

$285

USD

per lifetime