Integration tests describe a server’s overall behavior and capabilities. These tests can quickly expose failing systems, help developers isolate bugs and make server-sized refactors safer. In this screencast, we’ll show you how to configure the Chai HTTP extension with the existing test suite for the Chattrbox app.
Testing code creates more reliable and maintainable applications. When adding tests to an existing codebase, test coverage reports can help expose which parts of the app are untested. When creating a new test suite alongside a new app, test coverage reports can help guide the creation of valuable tests.
React breaks up our UI into separate, reusable components which makes organizing code much easier. However, if one of those components breaks, it crashes the rest of your UI. In this screencast, we'll show you how to build a React ErrorBoundary component that will help keep your UI working even when there are errors
In a previous screencasts, we built out a simple but full-featured web service. We have several tables of related data, validation, default values, and authorization. This is great, but it’s also starting to get complex enough that we might break something! Luckily, Rails’ testing support is second-to-none. In this screencast, we'll learn how to set up automated testing for our Rails web service.
In a previous screencast we set up a simple Rails web service for todos and deployed it to production. But right now there's no authorization on it, which means anyone can come along and modify our data. In this screencast, we’ll use the Doorkeeper gem makes it easy to add authentication to Rails APIs using the OAuth 2 standard.
Whether you are building a prototype or a business critical product, Heroku makes it easy to deploy and scale web applications. If you’ve never run a production web application before this might sound intimidating, but don’t worry—we’re going to use Heroku, a platform that makes deploying apps incredibly easy. But first we have a little preparation to do.
Chrome Browser Extensions are a quick and easy ways to enhance and extend browser functionality using everyday web languages. This screencast walks through the basics of loading a custom or hand-made extension onto the browser. We'll also create our own distraction-preventing extension that reroutes us back to The Frontier whenever we try to visit Twitter.
Improve user experiences on your web site by adding drag and drop functionality without any external libraries or frameworks. The Drag and Drop API is part of the core HTML5 spec and allows developers to make their sites more interactive and natural. In this screencast, we'll help you build an HTML5 Drag and Drop tool.
Load screens provide a visual indicator to users that data is being fetched and a useful reminder that the app isn’t frozen. They also can prevent unwanted user interaction with your site. This screencast walks through building a simple load screen in React that will improve user experiences
We're continuing our look at adding integrity to an already existing database backed web application. In this screencast we will be adding a uniqueness constraint. This is one of the more difficult constraints to add to existing data as you must come up with a way to get rid of duplicates.
In this screencast, we’ll talk about null values, which can tend to sneak into any large application that has been around for some time. We’ll go over our philosophy on data integrity and our thoughts on nulls, and what to do about them in an existing app with null constraints.
We can control the frequency with which certain functions can be invoked using a higher-order function to throttle functions just like a car’s throttle controls how much gas is delivered to the engine. This screencast describes a challenge we faced in deciding when to make an Ajax request and how throttling solved the problem.
hat happens when you have a bug in your API, and you need to fix it for some clients (the updated ones), but not for others? This screencast illustrates a strategy for adjusting an API's behavior for specific clients. We'll be using the Ruby on Rails framework emitting JSON to demonstrate this important web and API concept.