Cypress and Laravel Integration

0
Language

Level

Beginner

Access

Paid

Certificate

Paid

Cypress is a fantastic end-to-end testing framework. In this series, we’ll learn, not just the ins and outs of Cypress, but also how it can be leveraged within a Laravel application to allow for everything from logging in, to seeding a database, to swapping environments.

Add your review

Rapid Laravel and Cypress Setup

We’ll begin by setting up a fresh Laravel application and pulling in Cypress. We’ll eventually require a variety of Laravel-specific helpers for logging in, seeding a database, triggering an Artisan command, and more. So with that in mind, we’ll also pull in a Composer package of mine that I use in all my Laravel apps.

The Basics

Let’s begin by using TDD to drive the creation of a blog posts landing page. This will give us the opportunity to review and discuss a basic workflow you can expect to follow.

Let’s Test the Laracasts Login Modal

Often in this series, we’ll use BDD to drive our applications. However, the reality is that you’ll often find yourself filling in tests after the fact. With that in mind, let’s work with the actual Laracasts codebase and fill in a series of end-to-end tests for the site’s login modal.

Command and Assertion Essentials

Let’s take a few moments to discuss the difference between commands and assertions, while also reviewing the underlying Chai assertion library that Cypress makes use of.

Stubbing Network Requests with Fixtures

A true end-to-end test will span your entire system. This means no swapping things in the container, no faking third party APIs, and no stubbing endpoints. However, once you have at least one test that hits all necessary endpoints, the remaining tests are free to swap in fake data. This way, for example, you don’t need to hit Stripe’s server every time you test a portion of your registration form.

Testing Billable Registration

Let’s review another example using the Laracasts codebase. How would we go about testing registration that hits a third-party billing API, like Stripe?

Reaching into Iframes

Iframes can be a little tricky when using Cypress. In this episode, we’ll leverage retry-ability to wait until an iframe has loaded before continuing with the necessary queries and assertions.

User Reviews

0.0 out of 5
0
0
0
0
0
Write a review

There are no reviews yet.

Be the first to review “Cypress and Laravel Integration”

×

    Your Email (required)

    Report this page
    Cypress and Laravel Integration
    Cypress and Laravel Integration
    LiveTalent.org
    Logo
    LiveTalent.org
    Privacy Overview

    This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.