diff options
Diffstat (limited to 'test/support')
-rw-r--r-- | test/support/conn_case.ex | 1 | ||||
-rw-r--r-- | test/support/data_case.ex | 1 | ||||
-rw-r--r-- | test/support/helpers.ex | 25 |
3 files changed, 27 insertions, 0 deletions
diff --git a/test/support/conn_case.ex b/test/support/conn_case.ex index 2e6707087..d25c28f49 100644 --- a/test/support/conn_case.ex +++ b/test/support/conn_case.ex @@ -19,6 +19,7 @@ defmodule Pleroma.Web.ConnCase do quote do # Import conveniences for testing with connections use Phoenix.ConnTest + use Pleroma.Tests.Helpers import Pleroma.Web.Router.Helpers # The default endpoint for testing diff --git a/test/support/data_case.ex b/test/support/data_case.ex index 9dde6b5e5..53e7234d2 100644 --- a/test/support/data_case.ex +++ b/test/support/data_case.ex @@ -22,6 +22,7 @@ defmodule Pleroma.DataCase do import Ecto.Changeset import Ecto.Query import Pleroma.DataCase + use Pleroma.Tests.Helpers end end diff --git a/test/support/helpers.ex b/test/support/helpers.ex new file mode 100644 index 000000000..64b6b1900 --- /dev/null +++ b/test/support/helpers.ex @@ -0,0 +1,25 @@ +defmodule Pleroma.Tests.Helpers do + @moduledoc """ + Helpers for use in tests. + """ + + defmacro __using__(_opts) do + quote do + def refresh_record(%{id: id, __struct__: model} = _), + do: refresh_record(model, %{id: id}) + + def refresh_record(model, %{id: id} = _) do + Pleroma.Repo.get_by(model, id: id) + end + + # Used for comparing json rendering during tests. + def render_json(view, template, assigns) do + assigns = Map.new(assigns) + + view.render(template, assigns) + |> Poison.encode!() + |> Poison.decode!() + end + end + end +end |