Book Image

Phoenix Web Development

By : Brandon Richey
Book Image

Phoenix Web Development

By: Brandon Richey

Overview of this book

Phoenix is a modern web development framework that is used to build API’s and web applications. It is built on Elixir and runs on Erlang VM which makes it much faster than other options. With Elixir and Phoenix, you build your application the right way, ready to scale and ready for the increasing demands of real-time web applications. This book covers the basics of the Phoenix web framework, showing you how to build a community voting application, and is divided into three parts. In the first part, you will be introduced to Phoenix and Elixir and understand the core terminologies that are used to describe them. You will also learn to build controller pages, store and retrieve data, add users to your app pages and protect your database. In the second section you will be able to reinforce your knowledge of architecting real time applications in phoenix and not only debug these applications but also diagnose issues in them. In the third and final section you will have the complete understanding of deploying and running the phoenix application and should be comfortable to make your first application release By the end of this book, you'll have a strong grasp of all of the core fundamentals of the Phoenix framework, and will have built a full production-ready web application from scratch.
Table of Contents (14 chapters)
4
Introducing User Accounts and Sessions

Writing our unit tests

If we really want to be able to mark this code as complete, we need to start testing our code, to get a better picture of if it is working as expected and performing all of the necessary functions we need. We'll create a couple of new folders and a new file, test/vocial/votes/votes_test.ex, which will be in charge of testing our Context code.

Like most Phoenix code that we write, we'll start off by defining a test module. We'll also need some helper macros defined in our app's DataCase module and a few alias statements to make our lives easier. So we'll start out with:

defmodule Vocial.VotesTest do
use Vocial.DataCase

alias Vocial.Votes
end

This will be the beginning of our test code. Next we're going to write some code to tackle our simplest test cases, and we'll start by tackling the case for Polls. We'll use ExUnit...