Browse all series
TestingAdvanced48 episodes

Pest Driven Laravel

Learn to write applications that are fully tested and a joy to work with now and in the future through TDD. Tests are the base for writing code that is easy to change, refactor and maintain. There is no reason anymore to be afraid to touch your own code. Following test-driven development establishes the mindset that integrates testing and refactoring in your daily workflow.

Series episodes

Workflow (45)

Welcome!

1m 15s

Learn to build a full app with Test-Driven Development using PEST and Laravel Livewire. Write tests first, refactor smartly, and create dynamic user interfaces.

Prepare our Todos

3m 10s

Plan and prepare your Todos like a pro! Learn to outline user tasks and set up effective TDD testing for smooth, organized Laravel app development.

Testing Setup

4m 22s

Set up your Laravel testing environment with PEST! Learn to install, configure, and run tests smoothly in PhpStorm for reliable, efficient development.

Write Your First PEST Test

3m 4s

Write your first PEST test! Learn to create, refactor, and run basic Laravel tests while exploring TDD for confident, bug-free app development.

Show Course Overview - Part 1

15m 29s

Master TDD by building a course overview! Write tests, create models, and display released courses in order for a polished Laravel app experience.

Show Course Overview - Part 2

11m 54s

Learn to test course visibility and order! Ensure only released courses show on your homepage, sorted by latest release for a seamless Laravel app experience.

Refactoring Tests for Clean and Readable Code

12m 56s

Refactor your tests for clarity! Learn to replace static text with variables and use Laravel factory states to write cleaner, more readable test code.

Use Laravel Pint to Fix Code Style Issues

1m 24s

Install and use Laravel Pint to fix code style issues, maintain consistent PHP formatting, and improve readability effortlessly in your projects.

Show Course Details

12m 5s

Test your course details page by creating course data, making requests, and verifying titles, descriptions, images, and key info display correctly.

Show Course Details - Part 2

8m 27s

Add videos to courses, fix missing data with factories and migrations, define model relationships, and test course details for accurate video display.

Refactoring Course Details

7m 7s

Refactor course details for clarity and reliability! Add tests to show only released courses and handle unreleased ones with confidence in Laravel apps.

Refactoring Course Details - Part 2

6m 9s

Simplify relationships, organize files, and boost performance! Learn to refactor migrations, restructure routes, and optimize Laravel app tests with ease.

Displaying Purchased Courses

14m 3s

Build a secure dashboard showing purchased courses! Learn to test access, list user courses in order, and set up relationships for smooth Laravel apps.

Displaying Purchased Courses - Part 2

8m 31s

Refine your course dashboard! Test course order, exclude unrelated items, and add video links using Laravel factories, pivot tables, and route helpers.

Refactoring Code and Improving Test Performance

9m 27s

Refactor tests and boost performance! Clean up Jetstream tests, organize files, and use helpers like loginAsUser and lazilyRefreshDatabase for faster Laravel testing.

Implement a Login/Logout Functionality

7m 2s

Implement seamless login/logout! Learn to test user access, display correct links, and disable registration for controlled account creation in your Laravel app.

Creating a Video Player with Laravel Livewire

13m 55s

Create a Laravel Livewire video player! Build and test a secure course videos page that shows purchased content with seamless user access and dynamic playback.

Creating and Testing Video Player Components in Livewire

7m 11s

Build and test a Livewire video player! Display video details and embed Vimeo smoothly while fixing errors for a flawless Laravel component experience.

Always Make Time for Refactoring

9m 24s

Refactor your code fresh with improved naming, dynamic variables, and readable video durations. Learn Livewire’s assertSeeHTML for cleaner, effective testing.

Creating and Testing a Video Player in Laravel

10m 44s

Enhance your Laravel video player with a video list, clickable links, and Livewire tests to ensure smooth navigation and accurate video details.

Mark a Video As Completed

13m 11s

Learn to let users mark videos as completed using Laravel's auth, attach, and detach methods with tests to ensure smooth, reliable functionality.

Refactoring Code and Enhancing PHP Relationships

10m 9s

Refactor PHP code by enhancing relationships and using the spread operator to boost clarity and efficiency in this engaging Laracasts lesson.

Creating Helper Methods for Efficient Testing

10m 22s

Refactor your tests with helper methods like createCourseAndVideos and isCurrentVideo to boost code clarity and efficiency in this Laracasts lesson.

Testing Livewire Components

8m 34s

Test Livewire components effectively! Learn to verify method wiring with the "missing Livewire assertions" package for robust, user-triggered Laravel features.

Check if a User Has Already Watched a Video

9m 15s

Learn to check if a user watched a video! Add and test the alreadyWatchedByCurrentUser method with efficient user authentication for smooth Laravel apps.

Managing Database Entries with Laravel Seeders and Migrations

9m 20s

Master managing data with Laravel seeders and migrations! Learn to add courses and videos reliably, test data integrity, and avoid duplicates effortlessly.

Creating and Testing Database Seeders in Laravel

11m 3s

Learn to create and test Laravel seeders! Ensure courses have correct videos, avoid duplicates, and add local test users safely for smooth development.

First Look Through the Browser

9m 34s

Explore your app in the browser after TDD! Learn to spot and fix video routing bugs by writing failing tests first for confident Laravel development.

Debugging Livewire Components in Devtools

6m 23s

Debug Livewire components effortlessly! Learn to fix button issues, include assets, and test video titles for smooth, interactive Laravel apps.

Integrating Paddle

12m 8s

Integrate Paddle payments with ease! Learn to add a checkout overlay, handle taxes, and test your course purchase button for a smooth user experience.

Testing the Checkout Functionality in Courses

7m 23s

Fix checkout test issues, add Paddle product IDs, and integrate Paddle’s sandbox overlay to ensure smooth course purchases and accurate course links.

Validate and Store Paddle Requests

15m 4s

Learn to validate and store Paddle checkout requests using Laravel’s webhook_client, custom validators, and jobs for secure, reliable webhook handling.

Managing Valid and Invalid Job Dispatching

2m 45s

Master job dispatching by faking queues and using assertions to test valid and invalid requests, ensuring robust, reliable job handling in your app.

Refactoring Code for Efficient Test Creation

4m 39s

Refactor your code for cleaner, maintainable tests by extracting helpers, faking queues, and organizing validation for efficient, readable test creation.

Creating and Testing a Purchase Handler Job

12m 17s

Create and test a purchase handler job that stores Paddle purchases, reuses existing users, and sends purchase confirmation emails seamlessly.

Creating User-Specific Paddle Purchase Tests

7m 45s

Learn to test Paddle purchases per user, handle unique constraints, and fake emails with NewPurchaseMail. Ensure reliable, clean code in this Laracasts lesson!

Refactoring Code and Testing Email Content

7m 44s

Refactor code and boost test quality with reusable webhook setup. Verify email content and purchase details in feature tests. Keep your app reliable with Laracasts!

Testing the Payment Process Flow

5m 56s

Test Paddle payment flow by integrating checkout overlays, setting up webhooks, creating users, sending emails, and recording purchases seamlessly in your app.

Creating a Command to Auto-Tweet New Courses

12m 53s

Create a Laravel command to auto-tweet new courses, using facades and fake methods to test tweets and streamline your course promotions effortlessly.

Implementing Real and Fake Twitter Clients

10m 29s

Test real and fake Twitter clients by integrating TwitterOAuth, creating a service provider, and sending tweets to ensure your setup works flawlessly.

Twitter Client Refactoring

7m 55s

Refactor your Twitter client by organizing services, adding interfaces, and using a NullTwitter class to safely fake Twitter during testing and avoid real calls.

Enhancing the User Experience

1m 59s

Enhance your app’s user experience with a modern design, clean course layouts, login features, and an intuitive video player with easy navigation.

Measuring Code Coverage with PEST

13m 36s

Learn to measure and boost code coverage with Pest using XDebug, coverage flags, and targeted tests to achieve reliable, high-quality code.

Social Meta Tags

12m 6s

Learn to implement and test social meta tags that ensure your homepage and course pages display perfect previews when shared on social networks.

Efficient SEO Testing with the Test-SEO Plugin

6m 6s

Use the test-seo plugin to simplify meta and social tag tests: build an SEO object from responses for readable, easy-to-change assertions.

Continue learning

Thumbnail for Unlocking Badges Workshop
Unlocking Badges Workshop

With Jeffrey Way

  • 21 episodes
  • Advanced
  • Techniques
Thumbnail for What's New in Laravel 8
What's New in Laravel 8

With Jeffrey Way

  • 12 episodes
  • Beginner
  • Frameworks
Thumbnail for Spam Prevention Techniques
Spam Prevention Techniques

With Jeffrey Way

  • 6 episodes
  • Intermediate
  • Techniques
Thumbnail for Learn Laravel Horizon
Learn Laravel Horizon

With Andre Madarang

  • 3 episodes
  • Intermediate
  • Tooling
Thumbnail for How Do I
How Do I

With Jeffrey Way

  • 25 episodes
  • Intermediate
  • Techniques

Would you like to hear from Laracasts by email occasionally?