Урок 1.00:01:47
Introduction
Урок 2.00:02:06
Project Generation
Урок 3.00:03:52
Our First Test
Урок 4.00:03:44
Introduction to Jest
Урок 5.00:02:02
App Overview
Урок 6.00:00:45
Installing Dependencies
Урок 7.00:02:45
React and Redux Design
Урок 8.00:04:25
What Do We Test?
Урок 9.00:02:49
Starting from Scratch
Урок 10.00:04:08
Rendering the App
Урок 11.00:03:17
Showing Components in the App
Урок 12.00:03:32
Valid Test File Names
Урок 13.00:03:57
Test Structure
Урок 14.00:07:53
Tricking React with JSDOM
Урок 15.00:04:12
Verifying Component Existence
Урок 16.00:04:12
Test Expectations
Урок 17.00:06:14
Limiting Test Knowledge
Урок 18.00:07:26
Enzyme Setup
Урок 19.00:06:20
Enzyme Renderers
Урок 20.00:07:07
Expectations for Component Instances
Урок 21.00:01:19
Exercise Time!
Урок 22.00:01:57
Expecting the Comment List
Урок 23.00:05:01
Absolute Path Imports
Урок 24.00:04:26
Code Reuse with BeforeEach
Урок 25.00:03:17
Comment Box Component
Урок 26.00:05:09
TextArea Implementation
Урок 27.00:03:23
CommentBox Test File
Урок 28.00:06:49
Asserting Element Existence
Урок 29.00:04:03
AfterEach Statements
Урок 30.00:05:16
Simulating Change Events
Урок 31.00:06:36
Providing Fake Events
Урок 32.00:03:56
Forcing Component Updates
Урок 33.00:04:20
Retrieving Prop Values
Урок 34.00:02:09
Form Submit Exercise
Урок 35.00:06:41
Exercise Solution
Урок 36.00:06:19
Describe Statements
Урок 37.00:04:31
Redux Setup
Урок 38.00:05:01
The Provider Tag
Урок 39.00:04:12
The SaveComment Action Creator
Урок 40.00:03:58
Bonding React with Redux
Урок 41.00:06:57
Redux Test Errors
Урок 42.00:07:37
Adding a Root Component
Урок 43.00:05:22
Testing Reducers
Урок 44.00:02:47
Handling Unknown Types
Урок 45.00:05:32
Testing Action Creators
Урок 46.00:04:35
Comment List Wireup
Урок 47.00:04:56
Getting Data Into Redux
Урок 48.00:07:52
Redux Initial State
Урок 49.00:08:30
Cheerio Queries
Урок 50.00:03:52
One More Feature
Урок 51.00:04:38
Fetching a Remote Resource
Урок 52.00:05:09
Parsing Comment List
Урок 53.00:03:32
Integration Tests
Урок 54.00:03:04
Integration Tests in Action
Урок 55.00:02:31
Fixing a Broken Test
Урок 56.00:03:05
Simulating Button Clicks
Урок 57.00:04:33
Why the Failure?
Урок 58.00:05:59
Faking Requests with Moxios
Урок 59.00:02:48
The Reason for Failure
Урок 60.00:06:56
Introducing a Pause
Урок 61.00:02:44
Moxios's Wait Function
Урок 62.00:02:02
App Wrapup
Урок 63.00:01:43
An Introduction to Higher Order Components
Урок 64.00:01:59
Connect - A Higher Order Component
Урок 65.00:04:31
App Overview
Урок 66.00:01:46
Adding React Router
Урок 67.00:03:35
Adding Routes
Урок 68.00:05:05
Auth Reducer
Урок 69.00:04:06
Rendering a Header
Урок 70.00:04:19
Wiring Up State
Урок 71.00:03:48
Changing Auth State
Урок 72.00:06:30
Steps for Building a HOC
Урок 73.00:04:28
Forced Navigation with React Router
Урок 74.00:10:07
Creating the HOC
Урок 75.00:03:27
Placing Reusable Logic
Урок 76.00:09:11
Passing Through Props
Урок 77.00:02:31
Introduction to Middlewares
Урок 78.00:09:05
The Purpose of Redux Promise
Урок 79.00:08:34
How Async Middlewares Work
Урок 80.00:08:43
Crazy Middleware Syntax
Урок 81.00:04:07
Forwarding Actions
Урок 82.00:05:58
Waiting for Promise Resolution
Урок 83.00:07:03
Observing the Middleware
Урок 84.00:04:35
State Validation Middleware
Урок 85.00:05:14
JSON Schema
Урок 86.00:04:14
Generating JSON Schema
Урок 87.00:06:08
Middleware Creation
Урок 88.00:05:53
Emitting Warnings
Урок 89.00:04:32
Introduction to Authentication
Урок 90.00:04:58
Cookies vs Tokens
Урок 91.00:04:50
Scalable Architecture
Урок 92.00:03:46
Server Setup
Урок 93.00:05:42
More Server Setup
Урок 94.00:06:30
Express Middleware
Урок 95.00:06:10
Express Route Handler
Урок 96.00:10:22
Mongoose Models
Урок 97.00:06:30
MongoDB Setup
Урок 98.00:06:20
Inspecting the Database
Урок 99.00:04:57
Authentication Controller
Урок 100.00:07:57
Searching for Users
Урок 101.00:06:32
Creating User Records
Урок 102.00:08:13
Encrypting Passwords with Bcrypt
Урок 103.00:06:17
Salting a Password
Урок 104.00:04:59
JWT Overview
Урок 105.00:07:14
Creating a JWT
Урок 106.00:05:51
Installing Passport
Урок 107.00:08:56
Passport Strategies
Урок 108.00:04:03
Using Strategies with Passport
Урок 109.00:05:56
Making an Authenticated Request
Урок 110.00:05:38
Signing in with Local Strategy
Урок 111.00:04:18
Purpose of Local Strategy
Урок 112.00:05:09
Bcrypt Full Circle
Урок 113.00:04:13
Protecting Signin Route
Урок 114.00:04:05
Signing Users In
Урок 115.00:02:40
Server Review
Урок 116.00:03:26
Client Overview
Урок 117.00:01:50
Lib Installs
Урок 118.00:03:52
The App Component
Урок 119.00:06:03
Creating the Header
Урок 120.00:05:24
Wiring Up React Router
Урок 121.00:04:38
Scaffolding the Signup Form
Урок 122.00:07:46
Including Redux
Урок 123.00:06:28
ReduxForm for Signup
Урок 124.00:05:06
Handling Form Submission
Урок 125.00:02:17
Wiring Up Middleware
Урок 126.00:09:21
Basics of Redux Thunk
Урок 127.00:05:02
Calling the API
Урок 128.00:05:51
Code Cleanup with Compose
Урок 129.00:11:22
CORS in a Nutshell
Урок 130.00:05:27
Solution to CORS Errors
Урок 131.00:04:05
Dispatching Actions
Урок 132.00:05:17
Displaying Auth Errors
Урок 133.00:02:38
Redirect on Signup
Урок 134.00:02:29
Feature Component
Урок 135.00:04:03
The Require Auth HOC
Урок 136.00:04:55
Persisting Login State
Урок 137.00:04:21
Signing Out a User
Урок 138.00:02:27
Automatic Sign Out
Урок 139.00:02:15
The Signin Component
Урок 140.00:02:36
The Signin Action Creator
Урок 141.00:03:21
Updating the Header
Урок 142.00:03:10
Header Styling
Урок 143.00:02:56
Auth Wrapup
Урок 144.00:03:30
Project Setup
Урок 145.00:12:42
A First Spec
Урок 146.00:09:40
Core Testing - Describe, It, Expect
Урок 147.00:04:06
Test Reporting
Урок 148.00:06:10
Feature Mockups
Урок 149.00:06:56
Test Structure Setup
Урок 150.00:08:20
Comment Box Tests
Урок 151.00:07:51
Testing Class Names
Урок 152.00:06:23
Using beforeEach to Condense Tests
Урок 153.00:05:14
Expecting Child Elements
Урок 154.00:07:25
Simulating Events
Урок 155.00:07:24
Testing Controlled Components
Урок 156.00:07:14
Form Submit Event
Урок 157.00:06:01
Stub Comment List
Урок 158.00:07:44
Expectations on Content
Урок 159.00:05:43
Assertions with Lists
Урок 160.00:09:35
Testing Action Creators
Урок 161.00:04:47
Action Creator Shortcuts
Урок 162.00:12:38
TDD Comments Reducer
Урок 163.00:03:37
Spec Failures After Code Change
Урок 164.00:03:08
App Review
Урок 165.00:05:20
Purpose of Chai and Mocha
Урок 166.00:02:43
Test Helper From Scratch
Урок 167.00:07:15
JSDom Setup
Урок 168.00:05:29
More JSDom Setup
Урок 169.00:07:54
TestUtils Library
Урок 170.00:07:52
Defining RenderComponent
Урок 171.00:05:13
Finishing RenderComponent Helper
Урок 172.00:07:10
Simulate Helper
Урок 173.00:03:09
Test Helper Review
Урок 174.00:03:06
What is a Higher Order Component?
Урок 175.00:05:50
Connect and Provider
Урок 176.00:04:20
Authentication HOC Overview
Урок 177.00:06:55
Header Setup
Урок 178.00:07:37
React Router Setup
Урок 179.00:07:06
Authentication Reducer
Урок 180.00:08:05
Action Creator Hookup
Урок 181.00:04:57
Authentication Higher Order Component
Урок 182.00:09:10
HOC Scaffold Code
Урок 183.00:04:49
Nesting Higher Order Components
Урок 184.00:05:31
Accessing React Router on Context
Урок 185.00:02:12
Class Level Properties
Урок 186.00:05:03
Handling HOC Edge Cases
Урок 187.00:03:06
Higher Order Components Review
Урок 188.00:03:26
Middleware Overview
Урок 189.00:03:51
App Building Plan
Урок 190.00:04:15
Users Reducer
Урок 191.00:02:16
Static Users Action Creator
Урок 192.00:07:33
Rendering a List of Users
Урок 193.00:04:21
CSS Cleanup
Урок 194.00:07:16
Pains Without Middleware
Урок 195.00:04:44
Middleware Stack
Урок 196.00:07:56
Middleware Internals
Урок 197.00:05:17
Handling Unrelated Actions
Урок 198.00:08:06
Handling Promises
Урок 199.00:06:50
Middleware Review
Урок 200.00:02:29
Client Setup
Урок 201.00:05:49
App Architecture
Урок 202.00:07:31
Component and State Design
Урок 203.00:04:18
Header Component
Урок 204.00:11:04
Scaffolding the Signin Form
Урок 205.00:05:59
Adding Signin Form
Урок 206.00:08:25
Action Creator with Many Responsibilities
Урок 207.00:07:11
Introducing Redux Thunk
Урок 208.00:10:39
Signin Action Creator
Урок 209.00:09:14
CORS In a Nutshell
Урок 210.00:06:17
Serverside Solution for CORS
Урок 211.00:07:12
Programmatic Navigation
Урок 212.00:06:30
Updating Auth State
Урок 213.00:05:40
Breather and Review
Урок 214.00:06:40
LocalStorage and JWT
Урок 215.00:04:37
Auth Error Messaging
Урок 216.00:04:41
Displaying Errors
Урок 217.00:10:30
Header Logic
Урок 218.00:05:33
Signout Component
Урок 219.00:04:46
Signout Action Creator
Урок 220.00:04:13
Signup Component
Урок 221.00:08:03
Signup Form Scaffolding
Урок 222.00:04:31
Redux Form Validation
Урок 223.00:09:29
Implementing Validation Logic
Урок 224.00:05:41
More On Validation
Урок 225.00:07:12
Signup Action Creator
Урок 226.00:08:56
Finish Up Signup
Урок 227.00:10:22
Securing Individual Routes
Урок 228.00:02:35
Root IndexRoute
Урок 229.00:07:12
Automatically Authenticating Users
Урок 230.00:08:02
Making Authenticated API Requests
Урок 231.00:05:14
Handling Data from Authenticated Requests
Урок 232.00:03:30
Authentication Wrapup