Created
February 18, 2016 22:10
-
-
Save johnhamelink/0f3cc58407de743041cc to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| defmodule Api.ConnCase do | |
| @moduledoc """ | |
| This module defines the test case to be used by | |
| tests that require setting up a connection. | |
| Such tests rely on `Phoenix.ConnTest` and also | |
| imports other functionality to make it easier | |
| to build and query models. | |
| Finally, if the test case interacts with the database, | |
| it cannot be async. For this reason, every test runs | |
| inside a transaction which is reset at the beginning | |
| of the test unless the test case is marked as async. | |
| """ | |
| use ExUnit.CaseTemplate | |
| using do | |
| quote do | |
| # Import conveniences for testing with connections | |
| use Phoenix.ConnTest | |
| alias DB.Repo | |
| import Ecto.Model | |
| import Ecto.Query, only: [from: 2] | |
| import Api.Router.Helpers | |
| # The default endpoint for testing | |
| @endpoint Api.Endpoint | |
| end | |
| end | |
| setup tags do | |
| unless tags[:async] do | |
| Ecto.Adapters.SQL.restart_test_transaction(DB.Repo, []) | |
| end | |
| {:ok, conn: Phoenix.ConnTest.conn()} | |
| end | |
| end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment