<?xml version="1.0" encoding="utf-8"?>

<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Laracasts</title>
    <subtitle>The best source of Laravel training on the web.</subtitle>
    <link href="https://laracasts.com/feed" rel="self" />
    <updated>2020-05-22T10:29:55-04:00</updated>
    <author>
        <name>Jeffrey Way</name>
    </author>
    <id>tag:laracasts.com,2020:/feed</id>

            <entry>
            <title>What We&#039;re Building</title>
            <link href="https://laracasts.com/series/build-a-video-game-aggregator/episodes/1"/>
            <id>tag:laracasts.com,2020-05-22:/lessons/what-we-are-building</id>
            <updated>2020-05-22T09:50:32-04:00</updated>
            <summary>In this series, we&#039;ll build a video game app that pulls data from the IGDB API and displays game information such as popular title, coming soon, videos, and screenshots. We&#039;ll explore many front-end features with Laravel and other technologies including the HTTP client, Taliwind CSS, Livewire and Alpine.js. 

View the source code for this episode on GitHub.</summary>
        </entry>
            <entry>
            <title>Simpler Code With UseCase Classes</title>
            <link href="https://laracasts.com/series/build-a-stock-tracker-app/episodes/13"/>
            <id>tag:laracasts.com,2020-05-21:/lessons/simpler-code-with-usecase-classes</id>
            <updated>2020-05-21T13:56:15-04:00</updated>
            <summary>It&#039;s true that our tests are currently passing, but that doesn&#039;t mean the code is perfect. Not by a long stretch. Consider the fact that one of the core abilities of this application is to track stock. And, yet, if we browse the source code, is there a single point of entry we could visit to learn exactly what happens when this tracking takes place? The answer is unfortunately, &quot;not really.&quot; What if we could change that by creating a TrackStock use case class that describes the important steps.

View the source code for this episode on GitHub.</summary>
        </entry>
            <entry>
            <title>Notification Testing and Previewing</title>
            <link href="https://laracasts.com/series/build-a-stock-tracker-app/episodes/12"/>
            <id>tag:laracasts.com,2020-05-20:/lessons/notification-testing-and-previewing</id>
            <updated>2020-05-20T14:33:03-04:00</updated>
            <summary>If the goal is for this Artisan command to run every five minutes, then we should think of a way to notify the user each time an important stock change occurs. For example, if an item was out of stock yesterday, but is now in stock, we should email the user so they can go buy it right away.

Let&#039;s test out a typical event + listener approach, before adopting use-cases in the following episode.

View the source code for this episode on GitHub.</summary>
        </entry>
            <entry>
            <title>History Refactoring</title>
            <link href="https://laracasts.com/series/build-a-stock-tracker-app/episodes/11"/>
            <id>tag:laracasts.com,2020-05-19:/lessons/history-refactoring</id>
            <updated>2020-05-19T15:05:01-04:00</updated>
            <summary>We&#039;re now successfully creating history entries each time the stock is tracked, however, something feels a bit off. Before we move on, let&#039;s take a few moments to refactor our code into a shape that makes a bit more sense.

View the source code for this episode on GitHub.</summary>
        </entry>
            <entry>
            <title>Record Product History</title>
            <link href="https://laracasts.com/series/build-a-stock-tracker-app/episodes/10"/>
            <id>tag:laracasts.com,2020-05-19:/lessons/record-product-history</id>
            <updated>2020-05-19T14:59:39-04:00</updated>
            <summary>It would be useful if we kept a history log for every product. This way, for example, you could chart the price variance for a product over the last six months. Let&#039;s knock that out over the next two episodes.

View the source code for this episode on GitHub.</summary>
        </entry>
            <entry>
            <title>Manual Review</title>
            <link href="https://laracasts.com/series/build-a-stock-tracker-app/episodes/9"/>
            <id>tag:laracasts.com,2020-05-15:/lessons/manual-review</id>
            <updated>2020-05-15T14:35:15-04:00</updated>
            <summary>Amazingly enough, we haven&#039;t yet created a local database. However, because our test suite is at green, let&#039;s manually try our new Artisan command. According to the tests, when we run php artisan track, it should ping the necessary APIs to update the local status of all stock that we&#039;re currently tracking.</summary>
        </entry>
            <entry>
            <title>Start a Bug Fix With a Test</title>
            <link href="https://laracasts.com/series/build-a-stock-tracker-app/episodes/8"/>
            <id>tag:laracasts.com,2020-05-15:/lessons/start-a-bug-fix-with-a-test</id>
            <updated>2020-05-15T14:27:34-04:00</updated>
            <summary>Our tests are currently passing, but there&#039;s still a bug in our code. This is usually an indication that you&#039;re missing a unit test. In this episode, we&#039;ll write a regression test to reproduce the bug, and then fix it.

View the source code for this episode on GitHub.</summary>
        </entry>
            <entry>
            <title>Techniques for Testing Against a Real API</title>
            <link href="https://laracasts.com/series/build-a-stock-tracker-app/episodes/7"/>
            <id>tag:laracasts.com,2020-05-12:/lessons/techniques-for-testing-against-a-real-api</id>
            <updated>2020-05-12T12:31:58-04:00</updated>
            <summary>So far in this series, we&#039;ve faked the third-party API. There&#039;s no sense in hitting a real API every single time you run your feature tests. However, we do need to ensure that each Client works the way we expect. Let&#039;s tag a set of API-specific tests that will assert against real requests sent to the BestBuy API.

View the source code for this episode on GitHub.</summary>
        </entry>
            <entry>
            <title>Fake it Till You Make it</title>
            <link href="https://laracasts.com/series/build-a-stock-tracker-app/episodes/6"/>
            <id>tag:laracasts.com,2020-05-08:/lessons/fake-it-till-you-make-it</id>
            <updated>2020-05-08T13:26:08-04:00</updated>
            <summary>Let&#039;s write one more test to confirm that, after we check availability, the local stock database is updated to reflect this new information. Once again, we don&#039;t want to hit an actual third-party API. Instead, we&#039;ll learn how to manually prepare fakes.

View the source code for this episode on GitHub.</summary>
        </entry>
            <entry>
            <title>Different Strategies for Different Clients</title>
            <link href="https://laracasts.com/series/build-a-stock-tracker-app/episodes/5"/>
            <id>tag:laracasts.com,2020-05-07:/lessons/different-strategies-for-different-clients</id>
            <updated>2020-05-07T15:23:46-04:00</updated>
            <summary>Let&#039;s begin extracting each retailer client into its own class. As part of this episode, we&#039;ll review a variety of object-oriented techniques, including strategies, interfaces, factories, and more. 
View the source code for this episode on GitHub.</summary>
        </entry>
            <entry>
            <title>Refactoring To Database Seeders</title>
            <link href="https://laracasts.com/series/build-a-stock-tracker-app/episodes/4"/>
            <id>tag:laracasts.com,2020-05-06:/lessons/refactoring-to-database-seeders</id>
            <updated>2020-05-06T11:59:26-04:00</updated>
            <summary>Before we move on to our next task, let&#039;s take a few moments to refactor our tests. We&#039;ll extract most of the setup work for our primary test into a custom database seeder class.

View the source code for this episode on GitHub.</summary>
        </entry>
            <entry>
            <title>How to TDD Artisan Commands</title>
            <link href="https://laracasts.com/series/guest-spotlight/episodes/12"/>
            <id>tag:laracasts.com,2020-05-05:/lessons/how-to-tdd-artisan-commands</id>
            <updated>2020-05-05T15:10:24-04:00</updated>
            <summary>In this lesson, Christoph Rumpel will show you how to build and test Laravel console commands, using TDD. Laravel provides a number of useful testing assertions that should help us. Follow along as Christoph creates a command to import users from an external API.</summary>
        </entry>
            <entry>
            <title>Product Tracking</title>
            <link href="https://laracasts.com/series/build-a-stock-tracker-app/episodes/3"/>
            <id>tag:laracasts.com,2020-04-30:/lessons/product-tracking</id>
            <updated>2020-04-30T16:11:42-04:00</updated>
            <summary>Now that we have a basic idea of where we&#039;re going, let&#039;s write a feature test for the Artisan command that will track all products in our system. 
View the source code for this episode on GitHub.</summary>
        </entry>
            <entry>
            <title>Initial Relationships</title>
            <link href="https://laracasts.com/series/build-a-stock-tracker-app/episodes/2"/>
            <id>tag:laracasts.com,2020-04-29:/lessons/initial-relationships</id>
            <updated>2020-04-29T18:00:00-04:00</updated>
            <summary>Now that we have a handful of terms in our minds, let&#039;s start with a test and flesh out the basic behavior for our application.
View the source code for this episode on GitHub.</summary>
        </entry>
    </feed>
